使用图形工具绘制时,停止顶点相互重叠

时间:2016-06-01 04:52:36

标签: python graph graph-tool

我在Python 3.5.1上使用图形工具。我有一个单词图形,单词之间的边缘押韵。当我使用图形工具的绘图功能时,如果我使顶点太大,它会导致所有顶点重叠,但如果它们太小,我必须使字体变小,然后它变得难以辨认。有没有办法设置最小边长或强制顶点不重叠?

代码示例:

all-ages.csv

See image here

2 个答案:

答案 0 :(得分:1)

您是否尝试过使用graphviz_draw?它有overlap设置,您可以告诉软件防止顶点接触。函数的语法不同,因此您可能需要进行一些搜索,但如果查看图表工具手册中链接的graphviz文档,您应该能够找到所有属性(http://www.graphviz.org/doc/info/attrs.html)。

答案 1 :(得分:1)

我的猜测是您不能更改边缘的相对大小,但是可以更改字体和顶点大小。因此,目前我正在缩小顶点并在其外部显示文本。做工精美。

import cairo
from graph_tool.draw import graph_draw, prop_to_size

graph_draw(g, 
       edge_pen_width=1,
       vertex_text=g.vp.my_property, 
       vertex_aspect=1, 
       vertex_text_position=1, 
       vertex_text_color='black',
       vertex_font_family='sans',
       vertex_font_size=11,
       vertex_font_weight=cairo.FONT_WEIGHT_NORMAL,
       vertex_color=None,
       vertex_size=5
      )