2010-03-11 61 views
6

我正在研究編寫一個程序,它會向用戶顯示一個圖形。圖形將隨時間而改變(用戶應該能夠右鍵單擊一個圖形項目並要求更多細節,這會彈出圖形的新位),並且用戶可能能夠拖動圖形的一部分。理想情況下,我希望能夠自己指定圖的某些部分的相對佈局,同時將總體佈局保留到庫中,但這不是必需的。圖形操作程序Graphviz或Dynagraph?

我想要決定使用的圖形佈局庫。據我所知,兩位主要候選人是Graphviz和Dynagraph。 Dynagraph網站建議Graphviz用於繪製靜態圖形,Dynagraph是Graphviz的分支,包含將要更新的圖形的算法。它有一個叫做Dynasty的示例程序,它完全符合我的要求。但是,Graphviz網站包含一個名爲Lefty的示例程序,它似乎正是我想要的。根據Google(和SO)的結果,Graphviz似乎也被廣泛使用。

最後,我想用像Python或Scheme這樣的語言來編寫GUI部分,這讓我對使用C++有點猶豫,因爲我知道把它與接口解釋起來很難。

所以我的問題是,哪個庫更適合我所要做的?他們都有強大和弱點嗎?他們中的一個是否真的停止了開發,並且正在離開它的網站來混淆我?

(我見過Simple Dynamic Graph Display for C++Open source libraries to design directed graphs,但我不能告訴他們是否是對有關的Graphviz或Dynagraph的選擇,因爲左撇子的,也是語言的問題。)

+0

這可能不是你正在尋找的答案,但你有沒有考慮寫一個webapp呢?有很多基於javascript和svg的解決方案。特別是谷歌有一些不錯的API: http://code.google.com/apis/ajax/playground/?type=visualization#motion_chart_time_formats – drozzy 2010-03-21 00:23:59

+0

我不知道這些。我會研究它 - 謝謝! – 2010-03-21 12:51:25

回答