举例说明为什么在GraphViz中使用不同于标签的变量名称是方便的

123 阅读2分钟

日本被划分为8个地区和47个县。下面是关东地区各县的网络图,显示了哪些地区彼此相邻。(在这篇文章中,"边界 "是指区域之间有足够大的边界,以至于我能够在我使用的地图上看到边界区域。有些地区可能共享一个非常小的边界,而我却忽略了)。

这是一个很好的例子,说明为什么在GraphViz中使用不同于标签的变量名称是很方便的。我使用英文版本的县名创建了我的图表,并使用英文名称检查我的工作。然后,在调试了我的工作之后,我改变了标签名称(但不是连接数据),以使用日语名称。

为了显示这看起来像什么,我的GraphViz开始是这样的

    graph G {
    layout=sfdp
    AI [label="Aichi"]
    AK [label="Akita"]
    AO [label="Aomori"]
    ...
    AO -- AK
    AO -- IW
    AK -- IW
    ...

最后是这样的

    graph G {
    layout=sfdp
    AI [label="愛知県"]
    AK [label="秋田県"]
    AO [label="青森県"]
    ...
    AO -- AK
    AO -- IW
    AK -- IW
    ...

这是一张只显示一个地区内哪些县相互交界的图。

这张图是一个SVG,所以你可以在不损失任何分辨率的情况下重新缩放它。这是同样的PDF图片。

因为这个网络实际上是几个小的网络,所以很容易在地图上找出哪些节点对应于哪些县。(如果你能读懂这些标签,那就更容易了!)。

请注意,在上图中,有两个岛屿--文字上的岛屿,以及形象上的岛屿--北海道,这是它自己的地区,而冲绳,是九州地区的一个县。

这是所有接壤关系的图表,包括跨地区的关系。

上面的图片也是一个SVG。