2011-03-30 178 views
3

我在matlab中有一個Nx3矩陣,我想製作一個三維條形圖,其中X和Y軸由第一和第二列的值確定矩陣,每個條的高度是在基質中的第三列和的條的數量由N確定在matlab中繪製三維條形圖

換句話說,如果「數據」是則矩陣:

data(:, 1) % values of X-axis 
data(:, 2) % values of Y-axis 
data(:, 3) % values of each Z-axis bar 

和每個1:應該有一個長度(數據)

如何在MATLAB中做到這一點?

其次,作爲這方面的一個變型,我該怎麼做同樣的事情,但這次直方圖條成N個頻點中的每個X,Y,Z的尺寸?即而不是每個點的條形圖,只需將數據直方圖分解到每個維度中的這些條目中,併爲每個條形圖繪製一個條形圖。

非常感謝您的幫助。

+0

這裏是一個[相關答案](https://stackoverflow.com/a/45287329/2627163)和[也是本](https://stackoverflow.com/questions/45423394/how-to-set- a-color-by-height-for-a-3d-bar-plot) – EBH 2017-07-31 19:53:46

回答

0

關於你提到的第一個問題,你可以實現類似於你的要求的東西,通過:

stem3 (data(:,1), data(:,2), data(:,3), 'marker', 'none', 'linewidth',10) 

不完全是吧,但會產生類似的效果。

要繪製「真實」的酒吧(如那些bar3地塊),我想你將不得不使用(這是用來通過bar3陰謀吧)低級別的圖形功能,如surface

關於你提到的第二個問題,我不知道我的理解---如果你計算的柱狀圖爲每個維度,你結束了4維數據---每個維度的bin位置+的HIST計數本身。你想要繪製什麼?

+0

有意義 - 我如何標記莖圖的X,Y,Z軸?另外,你知道如何使用表面來製作真正的酒吧嗎?我不知道如何表面可以使酒吧。有沒有這樣的例子? – user248237dfsf 2011-03-30 15:23:50

+0

stem3圖的問題是它看起來不是三維的 - 酒吧只是線條,很難看到數據 – user248237dfsf 2011-03-30 15:24:51