包文档

igraph 的绘图和绘制例程。

igraph 目前有两个稳定的绘图后端:Cairo 和 Matplotlib。它还对 plotly 提供实验性支持。

Cairo 后端依赖于pycairocairocffi提供 Python 绑定的流行 Cairo 库。这意味着如果您没有安装 pycairocairocffi,您将无法使用 Cairo 绘图后端。无论文档何时提及pycairo库,您都可以安全地将其替换为cairocffi,因为两者是 API 兼容的。

Matplotlib 后端使用 Matplotlib 库。如果您想使用 Matplotlib 绘图后端,则需要从 PyPI 安装它。我们的许多画廊示例都使用了 Matplotlib 后端。

Plotly 后端使用 plotly 库,并且与 matplotlib 类似,需要从 PyPI 安装。

如果您不想(或无法)安装上述任何依赖项,您仍然可以将图保存为 SVG 文件,并使用 Mozilla Firefox (免费)查看,或使用 Inkscape (免费)、 Skencil (原名 Sketch,也免费)或 Adobe Illustrator 进行编辑。

模块 baseclasses 绘图例程的抽象基类。
cairo 无包文档字符串;13个模块中有10个有文档
模块 colors 颜色处理函数。
模块 graph 绘制图的例程。
matplotlib 无包文档字符串;9个模块中有7个有文档
模块 metamagic igraph 中默认图绘制器的辅助类。
plotly 无包文档字符串;5个模块中有3个有文档
模块 shapes igraph 的形状绘制类
模块 text 绘图上标签的绘制器。
模块 utils 绘图例程的实用工具类。

来自 __init__.py

DrawerDirectory 查找对象/后端绘制器的静态类
函数 plot 将给定对象绘制到给定目标。
def plot(obj, target=None, bbox=(0, 0, 600, 600), *args, **kwds): (源代码)

将给定对象绘制到给定目标。

此处未明确提及的位置参数和关键字参数将传递给__plot__被绘制对象的 方法。由于您很可能对图绘制可用的关键字参数感兴趣,另请参阅 Graph.__plot__

参数
obj要绘制的对象
target

对象的绘制目标。它可以是以下类型之一

  • matplotib.axes.Axes-- 一个 matplotlib/pyplot 坐标轴,图将在此绘制。绘图将委托给选定的 matplotlib 后端,您可以使用交互式后端和 matplotlib 函数保存到文件。
  • 字符串-- 将创建一个指定名称的文件,并将绘图存储在此文件中。如果您使用 Cairo 后端,一个合适的 Cairo 曲面将附加到文件中。如果您使用 matplotlib 后端,Figure 将使用 Figure.savefig 默认参数保存到该文件。Cairo 支持的图像格式有:PNG、PDF、SVG 和 PostScript;matplotlib 可能支持其他格式。
  • cairo.Surface-- 将使用给定的 Cairo 曲面。这可以是 PNG 图像、任意窗口、SVG 文件,或 Cairo 可以处理的任何内容。
  • None-- 如果您使用 Cairo 后端,将不执行绘图;igraph 仅返回一个 CairoPlot_ 对象,您可以使用它来操作绘图并稍后将其保存到文件。如果您使用 matplotlib 后端,将创建一个 Figure 对象和一个 Axes 对象,并返回该 Axes 对象,以便您可以进一步操作它。同样,如果您使用 plotly 后端,将返回一个 Figure 对象。
bbox绘图的边界框。它必须是一个包含两个或四个整数的元组,或者是一个 BoundingBox 对象。如果这是包含两个整数的元组,则它被解释为绘图的宽度和高度(PNG 图像和屏幕绘图以像素为单位,PDF、SVG 和 PostScript 绘图以点为单位,其中 72 pt = 1 英寸 = 2.54 厘米)。如果这是包含四个整数的元组,则前两个表示一个角的 X 和 Y 坐标,后两个表示对角的 X 和 Y 坐标。对 Matplotlib 绘图无效。
*args未文档化
opacity被绘制对象的透明度。如果您对同一图使用相同的布局,则可以用于重叠多个绘图——例如,您可以绘制一个透明度为 0.5 的图,然后在其上绘制透明度为 0.1 的生成树。为此,您需要使用 Plot 返回的对象,并使用 Plot.add 进行修改。对 Matplotlib 绘图无效。
palette如果添加的对象未指定私有调色板,则主要用于绘图的调色板。必须是 igraph.drawing.colors.Palette 对象,或指向有效键的字符串igraph.drawing.colors.palettes(参见模块 igraph.drawing.colors)或None。在后一种情况下,将使用配置键plotting.palette指定的默认调色板。
margin作为 4 元组的顶部、右侧、底部、左侧边距。如果元素少于 4 个或为单个浮点数,则这些元素将被重复使用,直到长度至少为 4。默认边距是每侧 20 单位。对 Matplotlib 绘图无效。
inline是否尝试在当前 IPython notebook 中内联显示绘图对象。传递None此处或省略此关键字参数将从shell.ipython.inlining.Plot配置键中查找首选行为。请注意,此关键字参数仅在 igraph 在 IPython 中运行且targetNone.
backend要使用的绘图后端;可以是以下之一"cairo", "matplotlib""plotly". None表示尝试根据绘图目标和默认 igraph 配置对象来决定后端。
返回
针对 Cairo 后端的一个合适的 CairoPlot 对象,针对 Matplotlib 后端的 MatplotlibAxes对象,以及针对 plotly 后端的Figure对象。
另请参阅
Graph.__plot__