modified plotting in matlab?
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
Somnath Kale
el 13 de Ag. de 2022
Editada: Somnath Kale
el 18 de Ag. de 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 comentarios
Respuesta aceptada
Asmit Singh
el 16 de Ag. de 2022
Editada: Asmit Singh
el 16 de Ag. de 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 comentario
Más respuestas (0)
Ver también
Categorías
Más información sobre Histograms en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!