簡體   English   中英

使用bar3代替bar在Matlab中繪制多個數據

[英]Use bar3 instead of bar to plot multiple data in Matlab

我有3個矩陣ABC ,每個矩陣的大小均為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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM