我有一个具有基于坐标的顶点位置的图形。有没有一种方法可以将坐标轴添加到图中以查看顶点在哪里结束?我找到了一种使用R的方法(将frame = True添加到visual_style),但是在python中似乎不起作用。
在仔细阅读了源代码之后,我认为我可以将默认抽屉更改为DescartesCoordinateSystem,但未对此进行记录。我认为我应该做的是
visual_style["drawer_factory"] = DescartesCoordinateSystem
但是我得到了错误:
ig.plot(self.g, png_pathname, **self.visual_style)
File "<path_to_virtualenv>/local/lib/python2.7/site-packages/igraph/drawing/__init__.py", line 477, in plot
result.save()
File "<path_to_virtualenv>/local/lib/python2.7/site-packages/igraph/drawing/__init__.py", line 285, in save
self.redraw()
File "<path_to_virtualenv>/local/lib/python2.7/site-packages/igraph/drawing/__init__.py", line 269, in redraw
plotter(ctx, bbox, palette, *args, **kwds)
File "<path_to_virtualenv>/local/lib/python2.7/site-packages/igraph/__init__.py", line 3151, in __plot__
drawer = drawer_factory(context, bbox)
TypeError: __init__() takes exactly 4 arguments (3 given)
是否可能是由于抽屉工厂缺少边界参数? 根据源代码,DescartesCoordinateSystem需要contex,bbox和bounds [https://igraph.org/python/doc/igraph.drawing.coord.DescartesCoordinateSystem-class.html]
class Graph(GraphBase):
def __plot__(self, context, bbox, palette, *args, **kwds):
drawer_factory = kwds.get("drawer_factory", DefaultGraphDrawer)
if "drawer_factory" in kwds:
del kwds["drawer_factory"]
drawer = drawer_factory(context, bbox)
drawer.draw(self, palette, *args, **kwds)