我有3个矩阵A
,B
和C
,其中每个矩阵的大小为21x2
。我使用bar
分别绘制每一个。我想知道如何使用bar3
将这三者拼接在一起?
所以使用这段代码:
A=rand(21,2);
B=rand(21,2);
C=rand(21,2);
fig=figure();b1=bar(A);
fig2=figure();b2=bar(B);
fig3=figure();b3=bar(C);
将产生这三个数字:
A:
B:
C:
我想要做的是,我希望它们都是相同的数字,但在z方向上相互映射,就像this
答案 0 :(得分:1)
我们的想法是创建新变量,其中包含插入NaN的每一行中所需的所有数据。只是这种改变几乎可以为您提供解决方案。
for ii=1:size(A,1)
A1((ii-1)*3+1)=A(ii,1);
A1((ii-1)*3+2)=A(ii,2);
A1((ii-1)*3+3)=NaN;
B1((ii-1)*3+1)=B(ii,1);
B1((ii-1)*3+2)=B(ii,2);
B1((ii-1)*3+3)=NaN;
C1((ii-1)*3+1)=C(ii,1);
C1((ii-1)*3+2)=C(ii,2);
C1((ii-1)*3+3)=NaN;
end
h=bar3(horzcat(A1',B1',C1'))
但是,我猜你也想修改颜色。
要做到这一点,我们的想法是您可以使用get(h(nrow),'Cdata')
获取每个条形行的颜色数据。
使用此技巧和您自己的色彩图,您应该能够独立地对条形图进行着色。这不是直截了当的,但如果它很容易就会有趣!