igraph中的图像缩放有什么问题?

时间:2015-12-02 15:31:36

标签: python plot resolution igraph

我在控制由igraph完成的网络图中的对象大小时遇到​​问题。 plot命令的文档说:

  • bbox::情节的边界框。这必须是包含所需宽度和高度的元组。默认绘图宽600像素,高600像素。
  • arrow_size:如果图表是朝向的,则边缘上箭头的大小(长度),相对于15像素。
  • vertex_size:顶点的大小(以像素为单位)

因此,根据我的理解,所有这些参数都代表了像素数。 因此,将它们全部乘以2因子,我希望图像能够完全按照这个因子进行缩放。

在python中考虑以下最小例子:

from igraph import Graph, plot

def visualize(res=1.0):

    g=Graph([(0,1), (1,0)], directed=True)

    layout = g.layout_fruchterman_reingold()

    plot(g, target='plot.png', 
         layout=layout,
         bbox=(120*res,120*res),  
         vertex_size=5*res, 
         arrow_size=10*res)

这绘制了一个简单的图表,
但是,对于res=1.0res=2.0,与图像大小相比,箭头和顶点会变小。

这怎么可能?

1 个答案:

答案 0 :(得分:0)

只是一个疯狂的猜测,但笔画宽度可以解释差异吗?默认笔划宽度为1个单位,您似乎无法缩放笔触宽度。尝试在vertex_frame_width=res的调用中设置plot()