modified plotting in matlab?
1 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
Asmit Singh
2022-8-16
编辑:Asmit Singh
2022-8-16
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
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Histograms 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!