Whats wrong with the image scaling in igraph?
Question: I have a problem in controlling the size of objects in network plots done by
igraph. The documentation of the `plot` command says:

  * **bbox:** : The bounding box of the plot. This must be a tuple containing the desired width and height of the plot. The default plot is 600 pixels wide and 600 pixels high.
  * **arrow_size:** Size (length) of the arrowhead on the edge if the graph is directed, relative to 15 pixels.
  * **vertex_size:** Size of the vertex in pixels

So to my understanding all these arguments represent numbers of pixels.
Therefore, multiplying all of them, say, by a factor of `2`, I would expect
the images to scale completely with this factor.

Consider this following minimal example in 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)
    

This plots a trivial graph,  
However for `res=1.0` and `res=2.0` the arrows and vertices become smaller
compared to the image size.

How is that possible?


Answer: Just a wild guess, but could the stroke width account for the difference? The
default stroke width is 1 units, and you don't seem to scale the stroke width.
Try setting `vertex_frame_width=res` in the call to `plot()`.

