我在自定义 VertexRenderingFunction 以不同尺寸显示不同图形时遇到问题。下面是一个示例,默认的顶点渲染函数具有所需的行为,因为顶点在所有图中看起来都相同,有什么建议如何使用自定义顶点来实现这一点吗?
(source: yaroslavvb.com http://yaroslavvb.com/upload/vrf-scaling.png)
edges = Most[
ArrayRules[GraphData[{"Path", 5}, "AdjacencyMatrix"]]][[All, 1]];
doit[vrf_] :=
Print /@ Table[
GraphPlot[Rule @@@ edges[[k ;;]], VertexRenderingFunction -> vrf,
VertexLabeling -> True], {k, 1, Length[edges]}];
doit[({White, EdgeForm[Black], Disk[#, .1], Black, Text[#2, #1]} &)];
doit[Automatic];
1小时后更新:
Michael Pilat 像往常一样给出了解决方案,这就是它的样子
(Inset[Graphics[{White, EdgeForm[Black], Disk[{0, 0}, .05], Black,
Text[#2, {0, 0}]}, ImageSize -> 25], #] &)
for rendering function
(source: yaroslavvb.com http://yaroslavvb.com/upload/vrf-scaling-fixed.png)