2011-06-26 424 views
8

我已經實現了一種算法來解決圖中的聚類問題。我使用python庫「python-graph」來表示圖形。現在,在我的計算的每一步(該算法是迭代的),我必須繪製樹狀圖的一部分。事實上,該算法是分裂的,從原始圖開始計算聚類。現在,我不知道用什麼來繪製樹狀圖(有人建議PIL,但我正在尋找一些簡單的東西,我不知道如何使用PIL)...你能提出一些建議並告訴我如何做陰謀嗎?手動在Python中繪製樹狀圖

注:我讀了其他問題,但似乎一切都使用方法,使用羣集的自動計算...這不是我要找的:我需要手動繪製樹狀圖或至少找到一種方法表示要繪製的集羣。

謝謝!

回答

2

實施scipy dendrogram的代碼可以找到here,這個簡單的implementation將幫助您繼續前進。

+0

一些例子這是一個很難找到一種方法,它的很多代碼看,我仍然無法弄清楚如何畫樹狀圖,而產生這......這不是在不知道最終結果的情況下輕鬆定義圖像大小。我認爲更好的解決方案是創建樹,以某種方式表示並找到一個函數來繪製它。看到這裏:http://stackoverflow.com/questions/5957625/how-can-i-create-a-dendrogram-in-r-using-pre-clustered-data-created-elsewhere – Raffo

+0

@Raffo:你檢查詳細方式https://gist.github.com/846567?恕我直言,這是非常簡單的,你應該很容易能夠從中提取你真正需要的東西。謝謝 – eat

+0

我必須在代碼中挖一點點,我沒有注意到它。我剛纔看到幾乎沒有任何意見.. – Raffo

2

ETE蟒蛇工具給你畫樹很多的可能性。繪圖引擎允許編程樹渲染。樹可以被繪製爲PNG或SVG圖像。樹狀圖可以表示爲矩形或圓形髮束。

儘管ETE通常用於處理系統發生樹,但它還提供了一個聚類模塊,並具有多種特殊的預定義可視化模式。

檢查在http://packages.python.org/ete2/tutorial/tutorial_drawing.html