$ dot -Timap input.dot $ dot -Timap_np input.dot $ dot -Tismap input.dot $ dot -Tcmap input.dot $ dot -Tcmapx input.dot $ dot -Tcmapx_np input.dot
影像地圖
imap
和 cmapx
會產生伺服器端和客戶端影像地圖的地圖檔案。這些檔案可以用於網頁中,搭配圖形輸出的形式(例如 JPEG、GIF 或 PNG 格式),將連結附加到節點和邊緣。只有當物件具有非平凡的 URL 或 href 屬性,或者具有明確的 tooltip 屬性時,Graphviz 才會產生物件的地圖資訊。
cmap
會產生客戶端影像地圖的地圖檔案。它與 cmapx
大致相同,但後者是格式良好的 XML,適合使用 XML 工具處理。特別是,cmapx
輸出會以 <map></map>
包裹。
imap_np
和 cmapx_np
與 imap
和 cmapx
格式相同,但它們僅依賴矩形作為活動區域。
ismap
是 imap
格式的前身(約 1994 年)。現在大多數伺服器都使用後者。
例如,若要根據 dot 檔案建立伺服器端地圖:
/* x.gv */
digraph mainmap {
URL="http://www.research.att.com/base.html";
command [URL="http://www.research.att.com/command.html"];
command -> output [URL="colors.html"];
}
您會處理圖形並產生兩個輸出檔案
dot -Timap -ox.map -Tgif -ox.gif x.gv
然後在網頁中參考它
<A HREF="x.map"><IMG SRC="x.gif" ismap="ismap" /></A>
對於客戶端地圖,您再次產生兩個輸出檔案
dot -Tcmapx -ox.map -Tgif -ox.gif x.gv
並使用 HTML
<IMG SRC="x.gif" USEMAP="#mainmap" />
... [content of x.map] ...
請注意,USEMAP 屬性中給定的名稱必須與 MAP 元素的 ID 屬性相同。Graphviz 渲染器會使用圖形的名稱作為 ID。因此,在上面的範例中,圖形的名稱為 mainmap
,我們在 IMG 屬性中有 USEMAP="#mainmap"
,而 x.map 看起來會像這樣:
<map id="mainmap" name="mainmap">
...
</map>
URL
可以附加到根圖形、節點和邊緣。如果節點具有 URL,則點擊節點將啟動連結。如果邊緣具有 URL,則沿著邊緣的各個點(但不一定是頭部或尾部)會連結到該 URL。此外,如果邊緣具有 label
,則該標籤會連結到 URL。至於邊緣的頭部,如果設定了 headURL
,則會連結到該 URL。否則,如果已定義邊緣的 URL,則會連結到該 URL。對於尾部和 tailURL
,也適用類似的描述。與圖形關聯的 URL 會用作預設連結。
如果節點的 URL
包含跳脫序列 \N
,則會將其替換為節點的名稱。如果已定義 headURL
,並且包含跳脫序列 \N
,則會將其替換為 headlabel
(如果已定義)。對於 tailURL
和 taillabel
,也適用類似的結果。
請參閱ID 輸出注意事項。