2012-10-19 215 views
3

我想爲項目使用graphviz,並且無法獲得我想要的行爲。我有一張可以用graphviz繪製的圖形,但我也有一個具有一些額外邊緣的圖形。我希望繪製第二張圖的節點與第一張圖的位置相同,同一位置的圖的邊也繪製出來,但是繪製的新邊不會與節點重疊。Graphviz允許邊緣節點重疊

爲了更好地瞭解我想要的內容,請想象一張帶有圖形的Powerpoint幻燈片,然後在下一張幻燈片上繪製這些額外邊緣出現在第一個圖形頂部的同一圖形,而不會修改舊的外觀圖的一部分。這是我想要的效果。

我認爲效果可以通過讓一些邊緣忽略任何重疊約束來實現。我無法弄清楚如何控制特定邊(甚至是所有邊)的邊和節點之間的重疊。

任何想法?

+1

你會創建一個示例樣機圖像,並請附上? – VKen

+0

最初的圖形可能如下所示:[link](https://dl.dropbox.com/u/665697/test.svg)與邊緣重疊的圖像如下所示:[link](https:// dl.dropbox.com/u/665697/overlapping-edges.png)。不是原始圖形的格式與更新後的格式相同,只有一些額外的邊緣可以與節點重疊。問題是,我喜歡原始圖形的格式,並且額外的邊緣會增加布局的太多約束,並使其難以遵循。我想保留原始圖形的佈局,只需添加這些邊緣。 – Dreckgos

回答

2

您可以通過dot -Tdot(或可能是dot -Txdot)將dot輸出另一個.dot文件,並將位置分配給所有元素。將附加邊添加到該文件,並再次通過dot運行它以生成第二個圖。

+0

哇。這是一個很棒的功能。感謝你提到這一點。 – jnns