[英]Use bar3 instead of bar to plot multiple data in Matlab
我有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方向上彼此后方繪制,像這樣
這個想法是創建新的變量,該變量包含每行要插入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')
每個條形行的顏色數據。
使用此技巧和您自己的色圖,您應該能夠獨立為條形着色。 這不是簡單明了,但是如果簡單的話,有趣之處在哪里!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.