将3D条绘制在MATLAB的网格上



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)

相关内容

  • 没有找到相关文章

最新更新