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

2024-04-25 05:28:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我在控制igraph绘制的网络图中对象的大小时遇到了一个问题。plot命令的文档说明:

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

据我所知,所有这些参数都代表像素数。 因此,如果把所有这些都乘以一个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,箭头和顶点相对于图像大小变得更小。在

怎么可能?在


Tags: 图像图形绘图宽度高度plot绘制res
1条回答
网友
1楼 · 发布于 2024-04-25 05:28:48

只是一个疯狂的猜测,但是笔划宽度能解释这种差异吗?默认的笔划宽度是1个单位,并且似乎没有缩放笔划宽度。尝试在对plot()的调用中设置vertex_frame_width=res。在

相关问题 更多 >