import gvfrom pygraph.classes.graph import graph
from pygraph.classes.digraph import digraph
from pygraph.algorithms.searching import breadth_first_search
from pygraph.readwrite.dot import write
gr = graph()
pass
gr.add_nodes(["HOST(name)", "REDIS", "MEMCACHED", "File:port", "HOST(other-name)"])
gr.add_edge(("HOST(name)", "REDIS"))
gr.add_edge(("HOST(name)", "MEMCACHED"))
gr.add_edge(("HOST(name)", "File:port" ))
gr.add_edge(("HOST(other-name)", "File:port"))
dot = write(gr)
gvv = gv.readstring(dot)
gv.layout(gvv, "dot")gv.render(gvv, "png", "test.png")
他甚至跑步,但我不喜欢他在执行后返回的事实,除了静止图片和警告
Warning: node File, port port unrecognized
Warning: node File, port port unrecognized
与传递函数的有效但不正确的语法一样。 帮助我理解。
答案 0 :(得分:0)
尝试使用
保存为SVG"File:Port"
避免出现无法识别的端口错误,并将冒号显示为HTML字符
答案 1 :(得分:0)
看来这是标点符号的问题。我在文本字符串中遇到文字“&”号时遇到了同样的问题。我必须对所有字符串执行以下操作以“清理”它们:
textString.replace("&", "&")
这样,字符串将正确呈现,并且graphviz不会尝试解析与符号。可能也适用于冒号(例如@ snow6oy的答案)和其他标点字符。