2011-02-28 65 views
1

我有列表的列表。例如:如何以3D建立直方圖?

A = Range[Range[N], 1]; where N = const. 

然後我填寫名單。

這就是說長度@ A [[k]]是不同的;其中k < = N。

如何使用此數據創建Histogram3D?

+0

請允許我歡迎你們來的StackOverflow,並提醒三件事,我們通常在這裏做:1 )當您獲得幫助時,也請嘗試給予**在您的專業知識領域回答問題** 2)[閱讀常見問題](http://tinyurl.com/2vycnvr)3)當您看到良好的問答時,將它們投票[使用灰色三角形](http:// i。因爲系統的可信度基於用戶通過分享知識獲得的聲譽。還記得接受更好地解決您的問題的答案,如果有的話,['通過按複選標記符號](http://i.imgur.com/uqJeW.png) – 2011-03-01 16:34:44

回答

3

假設你的意思是你預分塊的數據,讓你有高度的(粗糙)陣列:

heights = {{1}, {1, 2}, {1, 2, 3}, {1, 2, 3, 4}, {1, 2, 3, 4, 5}} 

填寫陣列成矩形形狀的東西,如:

heights = PadRight[#, 5] & /@ heights 

找出你箱邊界是在每個維度(長度會比倉的數量多一個):

x = Range[1,6,1] 
y = Range[1,11,2] 

給予高度爲一個常數函數:

Histogram3D[{{0, 0}}, {{x}, {y}}, heights &] 

Mathematica graphics

(在第一個參數的數據是假的,因爲它不是實際使用的東西。)

+0

我正在制定我的問題不太正確,但你的回答幫助我找到決定。謝謝 – hash3r 2011-03-01 16:26:56

+0

+1當有人解決問題時,我感到非常傷心,並且OP不打算投票。 – 2011-03-01 16:37:05

2

從你的描述,可能是你想要一個條形圖(我可能是錯的)

a = Table[i, {i, #}] & /@ Range[10] 

BarChart3D[a, ChartLayout -> "Grid"] 

enter image description here

編輯

如果你真的正在尋找一個3D直方圖:

a = Flatten[ 
    Table[RandomReal[NormalDistribution[i, .3], {10 i, 2}], {i, #}] & /@ Range[10], 1] 

[email protected] 

enter image description here

+1

我剛剛停止嘗試旋轉那張圖片... – 2011-02-28 18:55:33

+1

@Brett如果那感覺很傻,想象一下當我這樣做時我的感受:D – 2011-02-28 19:00:31

+0

感謝您的幫助 – hash3r 2011-03-01 16:30:02