绘制图的例程。
此模块包含用于绘制图形的例程,可绘制于
- Cairo 表面 (
DefaultGraphDrawer
) - Matplotlib 坐标轴 (
MatplotlibGraphDrawer
)
它还包含用于直接将 igraph 图形发送到 (Cytoscape) 的例程,使用 (CytoscapeRPC 插件),请参阅 CytoscapeGraphDrawer
。CytoscapeGraphDrawer
还可以从 Cytoscape 获取当前网络并将其转换为 igraph 格式。
类 |
|
图形绘制器,使用 CytoscapeRPC 向/从 Cytoscape 发送/接收图形。 |
类 |
|
图形绘制器,将图形发送到类文件对象(例如,套接字、URL 连接、文件),使用 Gephi 图形流格式。 |
函数 | __plot__ |
将图形绘制到给定的 Cairo 上下文或 matplotlib 坐标轴。 |
将图形绘制到给定的 Cairo 上下文或 matplotlib 坐标轴。
顶点和边的视觉样式可以在以下三个位置修改,优先级顺序如下(较低索引覆盖较高索引)
- 此函数的关键字参数(或
plot()
的关键字参数,它被完整地传递给Graph.__plot__(). - 顶点或边属性,在关键字参数列表中稍后指定。
- igraph 范围内的绘图默认值(参见
igraph.config.Configuration
) - 内置默认值。
例如,如果vertex_size关键字属性不存在,但存在一个名为size的顶点属性,则顶点大小将由该属性指定。
除了通常的自解释绘图参数(context, bbox, palette),它接受以下关键字参数
autocurve: 是否在图上为多条边使用曲线而不是直线。此参数可以是True或或FalseTrue;省略时,对于边数少于 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: 仅当绘制的对象是
VertexClustering
或VertexCover
时有效。聚类或覆盖中的顶点组将被突出显示,使得第 i 个组将使用当前调色板中的第 i 种颜色着色。如果在绘制图形时使用,将引发错误。 - True一个将顶点索引元组映射到颜色名称的字典。给定的顶点组将由给定的颜色突出显示。
- 一个包含对的列表或一个生成对的可迭代对象,其中每对的第一个元素是顶点索引列表,第二个元素是颜色。
- 一个
VertexClustering
或VertexCover
实例。聚类或覆盖中的顶点组将被突出显示,使得第 i 个组将使用当前调色板中的第 i 种颜色着色。 - None
除了顶点索引列表之外,您还可以使用
VertexSeq
实例。除了颜色名称之外,您还可以使用当前调色板中的颜色索引。vertex_size: 顶点大小。对应的顶点属性称为作为颜色名称意味着相应的组将被忽略。
- 或True: 仅当绘制的对象是
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_sizeedge_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"