下面的示例说明了如何自动突出显示图形中的特定路径。
这是一个愚蠢的图,由一系列边缘规则指定:
edges = Table[i -> Mod[1 + i^2, 10], {i, 0, 9}];
GraphPlot[edges, VertexLabeling -> True]
这是我们要强调的图表路径。
path = {0, 1, 2, 5, 6, 7, 0};
让我们将路径划分为边缘,考虑到我们想要突出显示边缘而与其方向无关。
edgesToHighlight = Partition[path, 2, 1];
edgesToHighlight = Join[edgesToHighlight,
Reverse /@ edgesToHighlight];
我们写一个EdgeRenderingFunction
以两种样式之一渲染边缘,具体取决于它是否在我们的列表中。
erf[pts_, edge_, ___] := If[MemberQ[edgesToHighlight, edge],
{Thick, Black, Arrow[pts, 0.1]}, {Darker[Red], Line[pts]}];
最后,我们显示结果。
GraphPlot[edges, EdgeRenderingFunction -> erf,
VertexLabeling -> True]