python-igraph API 参考

python-igraph 中所有类、函数和方法的列表

模块文档

绘制图的绘图程序。

此模块包含在以下对象上绘制图的例程

它还包含使用 (CytoscapeRPC 插件) 将 igraph 图直接发送到 (Cytoscape) 的例程,请参阅 CytoscapeGraphDrawerCytoscapeGraphDrawer 也可以从 Cytoscape 获取当前网络并将其转换为 igraph 格式。

CytoscapeGraphDrawer 图绘制器,使用 CytoscapeRPC 发送/接收到/从 Cytoscape 的图形。
GephiGraphStreamingDrawer 图绘制器,使用 Gephi 图流式传输格式将图发送到类似文件的对象(例如,套接字、URL 连接、文件)。
函数 __plot__ 将图绘制到给定的 Cairo 上下文或 matplotlib Axes。
def __plot__(self, backend, context, *args, **kwds):

将图绘制到给定的 Cairo 上下文或 matplotlib Axes。

顶点和边的视觉样式可以在以下三个位置修改,优先级顺序如下(较低的索引会覆盖较高的索引):

  1. 此函数的关键字参数(或 plot() 的关键字参数,该参数完整传递到Graph.__plot__().
  2. 顶点或边属性,在关键字参数列表中稍后指定。
  3. igraph 范围的绘图默认值(请参阅 igraph.config.Configuration
  4. 内置默认值。

例如,如果vertex_size关键字属性不存在,但是存在一个名为size的顶点属性,则顶点的大小将由该属性指定。

除了通常的不言自明的绘图参数(context, bbox, palette)之外,它还接受以下关键字参数

  • autocurve:是否对图绘图上的多条边使用曲线而不是直线。此参数可以是True之一或False;省略时,对于边数少于 10.000 的图,假定为True,对于边数多于 10.000 的图,假定为False否则。

  • drawer_factory: AbstractCairoGraphDrawer 的子类,将用于绘制图形。您也可以在此处提供一个函数,该函数接受两个参数:要绘制的 Cairo 上下文和一个边界框(BoundingBox 的实例)。如果缺少此关键字参数,igraph 将使用默认的图形绘制器,该绘制器应适用于大多数目的。除非您需要使用特定的图形绘制器,否则可以安全地省略此关键字参数。

  • keep_aspect_ratio:是否保持 igraph 计算以放置节点的布局的纵横比。True意味着布局将按比例缩放以适合要在其中绘制图的边界框,但纵横比将保持不变(可能会在图的旁边、下方或上方留下空白空间)。False意味着布局将沿 X 轴和 Y 轴独立缩放,以填充整个边界框。默认值为False.

  • layout: 要使用的布局。如果不是 Layout 的实例,它将被传递给 layout 以计算布局。请注意,如果您想要一个确定性布局,该布局不会随每个绘图而改变,您必须使用确定性布局函数(如 GraphBase.layout_circle),或者提前计算布局并在此处传递一个 Layout 对象。

  • 边距:顶部、右侧、底部、左侧边距,作为 4 元组。如果它的元素少于 4 个或者是一个浮点数,则将重复使用这些元素,直到长度至少为 4。

  • mark_groups:是否通过彩色多边形突出显示某些顶点组。此参数可以是以下之一

    • False:不会突出显示任何组
    • True: 仅当绘制的对象是 VertexClusteringVertexCover 时才有效。clutering 或 cover 中的顶点组将被突出显示,以便第 i 个组将由当前调色板中的第 i 个颜色着色。如果在绘制图形时使用,则会引发错误。
    • 将顶点索引元组映射到颜色名称的字典。给定的顶点组将通过给定的颜色突出显示。
    • 包含对的列表或生成对的可迭代对象,其中每对的第一个元素是顶点索引列表,第二个元素是一种颜色。
    • 一个 VertexClusteringVertexCover 实例。聚类或覆盖中的顶点组将被突出显示,以便第 i 个组将由当前调色板中的第 i 个颜色着色。

    您还可以使用 VertexSeq 实例代替顶点索引列表。

    您还可以使用当前调色板中的颜色索引代替颜色名称。None作为颜色名称将意味着相应的组将被忽略。

  • vertex_size:顶点的大小。相应的顶点属性称为size。默认值为 10。顶点大小以 igraph 在其上绘制的 Cairo 上下文的单位进行测量。

  • vertex_color:顶点的颜色。相应的顶点属性是color,默认颜色为红色。可以通过常见的 X11 颜色名称(请参阅 igraph.drawing.colors 的源代码以获取已知颜色列表)、浮点数的三元组(R、G 和 B 分量介于 0 和 255 之间)、CSS 样式字符串规范 (#rrggbb)或指定调色板的整数颜色索引来指定颜色。

  • vertex_frame_color:顶点框架(即描边)的颜色。相应的顶点属性是frame_color,默认值为黑色。请参阅vertex_color以获取指定颜色的可能方法。

  • vertex_frame_width:顶点框架(即描边)的宽度。相应的顶点属性是frame_width。默认值为 1。顶点框架宽度以 igraph 在其上绘制的 Cairo 上下文的单位进行测量。

  • vertex_shape:顶点的形状。或者,可以通过shape顶点属性来指定。可能性是square、{circle}、{triangle}、{triangle-down} 或hidden。请参阅 igraph.drawing 的源代码,以获取也被接受并映射到这些形状的其他形状名称列表。

  • vertex_label:绘制在顶点旁边的标签。相应的顶点属性是label.

  • vertex_label_dist:顶点标签中点与相应顶点中心的距离。相应的顶点属性是label_dist.

  • vertex_label_color:标签的颜色。相应的顶点属性label_color。请参阅vertex_color以获取颜色指定语法。

  • vertex_label_size:标签的字体大小,以我们正在绘制的 Cairo 上下文的单位指定。相应的顶点属性label_size.

  • vertex_label_angle:连接顶点中点与标签中点的线的方向。这可以与vertex_label_dist结合使用,以相对于顶点本身定位标签。相应的顶点属性label_angle。默认是-math.pi/2.

  • vertex_order:顶点的绘制顺序。这必须是一个包含顶点索引的列表或元组;然后根据此顺序绘制顶点。

  • vertex_order_by: 指定顶点绘制顺序的另一种方法;此属性被解释为顶点属性的名称,并且顶点被绘制成使得具有较小属性值的顶点首先被绘制。您也可以通过在此处传递元组来反转顺序;元组的第一个元素应该是属性的名称,第二个元素指定顺序是否反转 (True, False, "asc""desc"

  • edge_coloredge_colorcolor:边的颜色。相应的边属性是vertex_color以获取颜色指定语法。

  • edge_curved:边是否应该是弯曲的。正数对应于逆时针方向弯曲的边,负数对应于顺时针方向弯曲的边。零表示直线边。True被解释为 0.5,False被解释为 0。默认值为 0,这会使所有边都变成直线。

  • edge_width:边在我们将要绘制的 Cairo 上下文的默认单位中的宽度。相应的边属性是width,默认值为 1。

  • edge_arrow_size:边的箭头大小。相应的边属性是arrow_size,默认值为 1。

  • edge_arrow_width:边上箭头的宽度。相应的边属性是arrow_width,默认值为 1。

  • edge_order:边的绘制顺序。这必须是一个包含边索引的列表或元组;然后根据此顺序绘制边。

  • edge_order_by: 指定边绘制顺序的另一种方法;此属性被解释为边属性的名称,并且边被绘制成使得具有较小属性值的边首先被绘制。您也可以通过在此处传递元组来反转顺序;元组的第一个元素应该是属性的名称,第二个元素指定顺序是否反转 (True, False, "asc""desc"