How to plot this type of data in MatLab?
1 次查看(过去 30 天)
显示 更早的评论
Dear MatLab users,
I'm trying to plot some data but I'm having some problems and I don't know which function is the most appropriate. What I need to do is the same as the chart below built on excel.
I have a vector of results, A, which is 360x1; a vector D which is 40x1, and a vector M which is 9x1 (note that 40*9=360). The vector A is built such that the first 40 elements refer to the first value of the M vector, and to the 40 elements of the vector D. The elements 41 to 80 refer to the second value of the M vector, and so on. In other words, the plane grid is defined by the vectors D and M, which are the x,y "coordinates" of the 360 values of the vector A.
How can I plot these values in MatLab? I searched a bit and I tried to use functions such as bar3 and hist3, but I failed.
% A is known from previous analyses
D = linspace(2.5 , 197.5 , 40 )';
M = linspace(4.75, 8.75, 9)' ;
% hist3( ?)
% bar3(?)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/432923/image.jpeg)
Another question similar to this one is to divide every parallelepiped in 6 parts (hence, a 2160=40*9*6 result vector), which correspond to a 6x1 vector of predefined values. The final result should look like the screen_2 attached. I assume the code to be similar to the one of the first question, but again, not sure how to do it.
Thank you
0 个评论
采纳的回答
M.Many
2020-11-28
Hi,
you can try this
%load A
D = linspace(2.5 , 197.5 , 9 )';
M = linspace(4.75, 8.75, 9)';
bar3(reshape(A,40,9))
set(gca,'XTickLabel',M)
set(gca,'YTickLabel',D)
This is the closest I could get to the solution, hope it helps
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Data Distribution Plots 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!