modified plotting in matlab?
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Somnath Kale
le 13 Août 2022
Modifié(e) : Somnath Kale
le 18 Août 2022
I have data for several histograms I am willing to plot like this one in attachenment using matlab. Is it possible in matlab of yes plese gauide
i have attached here 10*16 matrix data and on z axix i wanted to plot number of couts similar to that of verticle axis in 2d histogram plot
4 commentaires
Réponse acceptée
Asmit Singh
le 16 Août 2022
Modifié(e) : Asmit Singh
le 16 Août 2022
I understand that you want to plot a 3D Histogram from a matrix. For any histogram plotting, we need to decide on a bin size, that is the size of the smallest unit on one axis to be considered for calculating counts on the z axis. As mentioned in this example, the sample code for generating a 3D histogram for 30X1000 matrix, with random real numbers between -5 and 5, and a bin size of 0.5 is as follows
%generating random data
data = zeros(30,1000);
for k = 1:30
data(k, :) = rand(1) + rand(1)*randn(1000, 1);
end
%defining bins
bins = [-5:0.5:5];
counts = histc(data, bins, 2);
%plotting
hf = figure;
ha = axes;
hb = bar3(bins, counts.');
xlabel('split 1')
ylabel('bins');
zlabel('count');
In your case, the matrix size is 16X10. You can recheck your matrix once, considering that each row has identical values across columns. Assuming a range of -1 and 1, with a bin size of 0.1. We can generate the 3D Histogram as follows
data = readmatrix("data.txt");
edges = [-1:0.1:1];
counts = histc(data, edges, 2);
hf = figure;
ha = axes;
hb = bar3(edges, counts.');
xlabel('split 1')
ylabel('bins');
zlabel('count');
You can change the bin size and the range as per your requirements.
Disclaimer : This answer is my personal idea, and has nothing to do with MathWorks
1 commentaire
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Histograms dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!