python graph-tool 剪裁边缘
我在用Python的graph-tool时,发现我的边线被截断了,不管我怎么尝试都没法解决这个问题……求助!调整输出大小也没有用。
另外,我的边线上的文字看起来很糟糕。有什么建议吗?
graph_draw(g, vertex_shape = vs, vertex_text = vl, vertex_font_size = 18, edge_text = el, edge_font_size = 40, edge_text_distance = 0,
edge_marker_size = 30, output_size = (400,400), vertex_size = 40, output = "output.png")
1 个回答
1
如果你在调用 graph_draw()
这个函数的时候,把 fit_view = False
这个选项加上,它就不会自动调整图形的大小来适应输出的尺寸。这样你就可以通过改变节点的位置来选择你想要的视图,确保图形的每个部分都能显示出来:
g = random_graph(10, lambda: 10, self_loops=True, directed=False)
pos = sfdp_layout(g)
x, y = ungroup_vector_property(pos, [0, 1])
x.a = (x.a - x.a.min()) / (x.a.max() - x.a.min()) * 200 + 100
y.a = (y.a - y.a.min()) / (y.a.max() - y.a.min()) * 200 + 100
pos = group_vector_property([x, y])
graph_draw(g, pos, output_size=(400, 400), output="foo.png", fit_view=False)
你可以通过调整 text_distance
、text_parallel
和 font_size
这些属性来改善边的标签显示效果。