2011-11-30 47 views
2

我正在編寫一個程序來計算點集的k-均值聚類。我想要顯示步驟,以便以jpg或png格式保存每一步的圖片。最後還要保存Voronoi圖的圖片也很好。在C++中可視化圖形和voronoi圖表的最佳方法

在給定邊和頂點的情況下繪製和保存圖的圖像的最佳工具是什麼?彩色頂點將是一個加號

+2

也許「graphviz」? –

回答

1

兩個真正有用的工具,用於可視化我經常使用的數據是graphviz http://www.graphviz.org/和gnuplot http://www.gnuplot.info/。 Graphviz非常適合無向和有向圖。 Gnuplot非常適合二維線條和點。看看網站上的例子會給你一個想法,你可以用它們做什麼。

它們都有文本文件格式,從程序中很容易產生。您可以編寫一個純文本文件,並在程序運行後將其轉換爲圖像文件。或者你可以打開一個管道到程序並設置輸出文件和類型。

作爲附註,Graphviz圖可以嵌入在doxygen註釋中,這樣可以將整個圖形放入文檔中。你沒有問,但我正在撰寫一些文件,所以這是我的想法。

+0

非常酷,謝謝。你知道graphviz是否具有voronoi圖能力? – Chris

0

一個簡單的可視化Voronoi圖的方法是寫出一個SVG文件。邊緣將變成<line>元素,頂點(以及Voronoi圖中的中點)將變爲<circle>元素。不同的元素也可以有不同的顏色。不過,您必須事先確定圖表的大小。這種方法的優點是不需要花哨的庫來寫出圖像,並且SVG可以在IE或Firefox中顯示。