当我在等待 sorting 时最后,我想调整我正在处理的 Mathematica 图的一部分。问题是节点在边缘之上,我想知道是否有办法扭转它。在图像中,您可以看到箭头未正确显示...
我正在使用自定义 VertexRenderingFunction
和 EdgeRenderingFunction
参数执行 GraphPlot[]
。它看起来像这样:
如您所见,如果箭头位于节点顶部,就会像他们说的那样很酷。有没有一种简单的方法可以破解它?
最佳答案
我不知道是否可以通过 GraphPlot 选项直接执行此操作,但您可以直接操作 GraphPlot 生成的 Graphics 对象。例如,这是一个与您的特征相似的图表。
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}]
当然,您的 Graphics 对象可能具有不同的结构。
马克·麦克卢尔
关于graph - Mathematica GraphPlot 和 EdgeRenderingFunction,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3796279/