我在我的Python项目中使用NetworkX库创建图的表示。 制作有向图时,需要向我们的图输出添加一个属性:rankdir=LR。
因此,我编写了以下代码:
import networkx as nx
graph = nx.DiGraph(rankdir="LR")
#adding deps based on our database data
add_deps(graph)
dot_file_path = "some/path/to/dots.gv"
nx.write_dot(graph, dot_file_path)
因此,最后一个字符串会生成包含以下内容的点文件:
strict digraph {
"Writing letters" [URL="/admin/materials/theme/213/",
shape=box,
target=blank];
"Finishing the Business English course" [URL="/admin/materials/theme/221/",
color=red,
shape=box,
style=filled,
target=blank];
"Writing letters" -> "Finishing the Business English course";
...
}
虽然我期望代码在图形输出中附加 "rankdir=LR" 属性:
strict digraph {
rankdir=LR;
"Writing letters" [URL="/admin/materials/theme/213/",
shape=box,
target=blank];
"Finishing the Business English course" [URL="/admin/materials/theme/221/",
color=red,
shape=box,
style=filled,
target=blank];
"Writing letters" -> "Finishing the Business English course";
...
}
但是这种情况并没有发生,似乎write_dot()方法没有设置图形属性。是否有人能够帮忙提供正确的方法通过networkx添加图形属性?
drawing.nx_pydot.write_dot
或drawing.nx_agraph.write_dot
代替write_dot
。 - kirogasa