[英]Plotting 3D bars over a grid in Matlab
我有一个矩阵 A,它包含 50 行和 4 列,条目用整数填充。 我的兴趣是根据这些数据构建一个堆叠的 3D 条形图。 但是,使用 bar3(A,'stacked') 创建一行 50 个条形,而我希望将条形绘制在大小为 5(垂直)x 10(水平)的网格的坐标处。 因此,该行中的第一个小节位于 (1,1) 位置,第二个小节位于 (1,2),第 11 个小节位于 (2,1),依此类推,直到第 50 个小节位于 (5,10) . 我似乎无法在 Matlab 中找到一种方法来做到这一点,这可能吗?
先感谢您!
我同意@cris,有更好的方法来表示您的数据。 但是,如果您仍想使用 3D 条形图,则可以使用以下方法:
figure
hold on
for i = 1:5
Ai = A(10*(i-1)+1:10*i,:);
h = bar3(1:10,Ai,'stacked');
for ih = 1 :length(h)
x = get(h(ih), 'Xdata');
set(h(ih), 'Xdata', x+i-1);
end
end
view(3)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.