,而我等待sorting完成,我想調整數學圖形的一部分,我的工作。問題是節點位於邊緣之上,我想知道是否有辦法扭轉這種情況。在圖片中你可以看到箭頭顯示不正確...數學GraphPlot和EdgeRenderingFunction
我正在做GraphPlot[]
與定製VertexRenderingFunction
和EdgeRenderingFunction
參數。它看起來是這樣的:
正如你所看到的,這將是像他們說的酷如果箭頭是在節點上。有沒有簡單的方法來hax它在?
,而我等待sorting完成,我想調整數學圖形的一部分,我的工作。問題是節點位於邊緣之上,我想知道是否有辦法扭轉這種情況。在圖片中你可以看到箭頭顯示不正確...數學GraphPlot和EdgeRenderingFunction
我正在做GraphPlot[]
與定製VertexRenderingFunction
和EdgeRenderingFunction
參數。它看起來是這樣的:
正如你所看到的,這將是像他們說的酷如果箭頭是在節點上。有沒有簡單的方法來hax它在?
馬克的回答不正是你問什麼 - 你可以寫你自己的功能,它可以自動反向。
一個不太直接的解決方案可能是隻畫箭頭頭從最終一點點回:
GraphPlot[Table[i -> Mod[3 i + 1, 9], {i, 0, 8}],
VertexRenderingFunction -> ({{White, Disk[#, 0.15]},
Circle[#, 0.15]} &), DirectedEdges -> True,
EdgeRenderingFunction -> ({Arrowheads[{{.05, .8}}], Red,
Arrow[#]} &)]
這也將減少在節點的擁堵。
謝謝,這工作......過了一段時間。 :) – Gleno 2010-09-29 02:49:20
我不知道是否有一種方法可以直接與GraphPlot選項或無法做到這一點,但你可以操縱的Graphics對象由GraphPlot直接產生。例如,這裏有一個圖表,其特徵與你的相似。
bg = GraphPlot[Table[i -> Mod[3 i + 1, 9],
{i, 0, 8}], DirectedEdges -> True,
VertexRenderingFunction -> (
{{White, Disk[#, 0.15]}, Circle[#, 0.15]} &),
EdgeRenderingFunction -> (Arrow[#1] &)]
您可以檢查圖形的基本和指令的結構如下:
bg // InputForm
你可以看到,箭頭的頂點之前被放下。簡單地如下反轉。
MapAt[Reverse, bg, {1, 1}]
當然,您的圖形對象可能會有不同的結構。
馬克·麥克盧爾
看起來不錯,我會嘗試並報告回來! – Gleno 2010-09-27 12:03:41
看起來很整潔,你能分享你爲此寫的代碼嗎? – 2010-09-26 02:39:40