i有一个矩阵,a,其中包含50行和4列,并且条目充满了整数。我的兴趣是通过此数据构建一个堆叠的3D栏图。但是,使用bar3(a,``堆叠''(创建了一排50 bar,而我希望将条形图绘制在大小5(垂直(x 10(水平(的网格的坐标处。因此,该行中的第一个栏将在位置(1,1(,第二个栏位于(1,2(,第(2,1(的11个Bar等,依此类推,直到第50个Bar(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)