Graphviz 命令行繪圖程式 繪圖軟體 關係圖 指令

Graphviz-用指令來畫關係圖

2013-06-03
Graphviz(http://www.graphviz.org/)是一種命令行繪圖程式,能夠直接陳述圖片上的節點、邊、方向等性質,然後自動描繪出的整張圖片。本文將實際使用Graphviz並同時講解箇中的原理。
另外,shape可以指定節點的形狀,形狀列表官網(http://www.graphviz.org/content/node-shapes)有一份資料可參考。

在線段屬性方面,有向圖中的箭頭可透過arrowhead與arrowtail屬性來指定頭尾樣式。至於線段本身,則可透過style屬性,指定不同類型的虛線與短截線。使用者還可以用dir屬性讓箭頭方向反過來。

另外還有一個image屬性,可以指定讓node顯示圖片,需要時也可參考看看。

屬性實在太多,無法一一介紹,請查官網手冊(http://www.graphviz.org/doc/info/attrs.html)獲得全面訊息。

rank

dot語言中有一個叫作rank的概念。所謂的rank,在dot語言中,含意比較接近於「等級」。它主要用在dot渲染器中。請看以下的圖8:


▲圖8 rank示例。

很明顯可以看出來,圖片被從上到下分為四層——這就是rank。下方是與上圖對應的dot陳述:


觀察程式碼,可看出rank是如何被指定的。其基本規則在於:每個線段的頭端,都會比尾端多出一個等級(在圖上面就是往下面一層)。 但等等,如果等級指定的語句彼此矛盾呢?修改以上程式碼為:



▲圖9 rank示例。

看上面圖9的結果,顯然rank的指定是「先說先贏」的。

除了基本規則外,rank也可以透過屬性來加以調節,必要時可到官網查詢手冊。

<本文依創用CC BY-ND-NC授權刊登,原文請見:http://www.openfoundry.org/tw/foss-programs/8820>

<林雪凡,童話世界的居民,正職小說家。對於任何試圖將世界童話化的傢伙與技術都深感興趣。最近因為童話世界物價高漲而忙著打工。>

<自由軟體鑄造場(OSSF),自由軟體鑄造場為中央研究院與行政院國家科學委員會共同出資設立的專職計畫,對自由軟體使用開發有興趣的讀者,可以參考其計畫網址:http://www.openfoundry.org>


追蹤我們Featrue us

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!