模块文档

绘制图的例程。

此模块包含用于绘制图形的例程,可绘制于

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

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

将图形绘制到给定的 Cairo 上下文或 matplotlib 坐标轴。

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

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

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

除了通常的自解释绘图参数(context, bbox, palette),它接受以下关键字参数

  • autocurve: 是否在图上为多条边使用曲线而不是直线。此参数可以是TrueFalseTrue;省略时,对于边数少于 10,000 的图,假定为 True。否则。

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

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

  • : 要使用的布局。如果不是 Layout 的实例,它将被传递给 layout 以计算布局。请注意,如果您希望每次绘图时布局不发生变化,则必须使用确定性布局函数(例如 GraphBase.layout_circle),或者提前计算布局并将 Layout 对象传递到此处。margin

  • : 上、右、下、左边距,作为4元组。如果元素少于4个或是一个浮点数,元素将被重用直到长度至少为4。mark_groups

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

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

    除了顶点索引列表之外,您还可以使用 VertexSeq 实例。

    除了颜色名称之外,您还可以使用当前调色板中的颜色索引。vertex_size: 顶点大小。对应的顶点属性称为作为颜色名称意味着相应的组将被忽略。

  • vertex_sizesize。默认值为 10。顶点大小以 igraph 绘制所用的 Cairo 上下文单位衡量。sizevertex_color

  • : 顶点颜色。对应的顶点属性是color,默认是红色。颜色可以通过常见的 X11 颜色名称(参见 igraph.drawing.colors 的源代码以获取已知颜色列表)、由浮点数组成的 3 元组(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

  • : 绘制在顶点旁边的标签。对应的顶点属性是labelvertex_label_dist.

  • : 顶点标签中点到对应顶点中心的距离。对应的顶点属性是label_distvertex_label_color.

  • : 标签颜色。对应的顶点属性label_color。参见vertex_color 以获取颜色规范语法。: 顶点颜色。对应的顶点属性是vertex_label_size

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

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

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

  • vertex_order_by: 指定顶点绘制顺序的替代方法;此属性被解释为顶点属性的名称,顶点将按照属性值较小的先绘制的顺序绘制。您也可以通过在此处传递一个元组来反转顺序;元组的第一个元素应该是属性的名称,第二个元素指定顺序是否反转(True, , "asc""desc"

  • 是接受的值)。edge_color: 边的颜色。对应的边属性是,默认是红色。颜色可以通过常见的 X11 颜色名称(参见 igraph.drawing.colors 的源代码以获取已知颜色列表)、由浮点数组成的 3 元组(R、G、B 分量范围在 0 到 255 之间)、CSS 风格的字符串规范(color,默认是红色。参见 vertex_color。: 顶点颜色。对应的顶点属性是vertex_label_size

  • edge_curved: 边是否应该弯曲。正数对应逆时针方向弯曲的边,负数对应顺时针方向弯曲的边。零表示直线边。TrueTrue 被解释为 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, , "asc""desc"