Graphviz使用带重音的点

2024-06-28 20:03:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一些函数可以使用graphviz和networkx。 如果我的图形不包含任何重音字符,则一切正常

但是如果我有这个文件test.txt:

strict graph {
   "Français"
}

我运行这个命令: dot.exe -Tdot test.txt -o result.txt

并以以下文件结束:

strict graph {
    graph [bb="0,0,83.193,36"];
    node [label="\N"];
    Français     [height=0.5,
        pos="41.596,18",
        width=1.1555];
}

节点名称周围没有双引号 然后,在Python中,我尝试使用以下命令加载此文件:

graph = nx.drawing.nx_pydot.read_dot("result.txt")

现在,如果我想查看我的节点,我会:

graph.nodes

我得到了这个结果:

NodeView(('Fran', 'ç', 'ais')) 我有3个节点,而不是一个

如果在result.txt中添加双引号,则只得到一个节点

如何在result.txt中保留双引号

编辑: 多亏了sroush,我知道我可以在每个节点的末尾添加一个空格,双引号将保留在结果中。但是这种解决方案会使每个节点的位置有点错误。 但是为什么双引号没有保留在之前呢

我们能强迫它吗?因为我无法编辑result.txt文件,所以所有过程都是自动完成的。结果可以包含数百个节点


Tags: 文件函数test命令txt编辑节点result
2条回答

作为一种解决方案,您可以在result.txt文件中的节点名周围添加引号

strict graph {
    graph [bb="0,0,83.193,36"];
    node [label="\N"];
    "Français"     [height=0.5,
        pos="41.596,18",
        width=1.1555];
}

>>> graph = nx.drawing.nx_pydot.read_dot("result.txt")
>>> graph.nodes()
NodeView(('Français',))

添加空间会起作用(尽管它会改变外观):

strict graph {
   "Français "
}

相关问题 更多 >