class documentation

表示使用Cairo绘图后端的任意图表的类。

你可以绘制的对象包括图形、矩阵、调色板、聚类、覆盖图和树状图。

在Cairo中,每个绘图都有一个关联的表面对象。表面是cairo.Surface的一个实例,属于pycairo库的成员。表面本身提供了一个统一的API,用于各种绘图目标,如SVG文件、X11窗口、PostScript文件、PNG文件等。igraph通常不知道它在每个时间点在哪个表面上绘图,因为pycairo负责实际的绘图。所有pycairo支持的内容也应该由这个类支持。

当前的Cairo表面包括:

  • cairo.GlitzSurface -- OpenGL accelerated surface for the X11 Window System.
  • cairo.ImageSurface -- memory buffer surface. Can be written to a PNG image file.
  • cairo.PDFSurface -- PDF document surface.
  • cairo.PSSurface -- PostScript document surface.
  • cairo.SVGSurface -- SVG (Scalable Vector Graphics) document surface.
  • cairo.Win32Surface -- Microsoft Windows screen rendering.
  • cairo.XlibSurface -- X11 Window System screen rendering.

如果你创建一个Plot对象时,将字符串作为目标表面给出,该字符串将被视为文件名,其扩展名将决定使用哪个表面类。请注意,根据你的pycairo安装情况,可能并非所有表面都可用。

一个 Plot 有一个指定的默认调色板(参见 igraph.drawing.colors.Palette),用于绘制对象。

一个 Plot 对象还包含一个要绘制的对象列表,这些对象具有各自的边界框、调色板和不透明度。分配给对象的调色板会覆盖绘图的默认调色板。可以通过 Plot.add 方法添加对象,并通过 Plot.remove 方法移除对象。

方法 __init__ 创建一个新的绘图。
方法 add 向图中添加一个对象。
方法 background.setter 设置绘图的背景颜色。None 表示透明背景。你可以使用当前调色板的 get 方法或 igraph.drawing.colors.color_name_to_rgb 理解的任何颜色规范...
方法 mark_dirty 将绘图标记为脏(应重新绘制)
方法 redraw 重新绘制图表
方法 remove 从图中移除一个对象。
方法 save 保存绘图。
实例变量 bbox 未记录
属性 background 返回绘图的背景颜色。None 表示透明背景。
属性 bounding_box 返回Cairo表面的边界框作为一个BoundingBox对象
属性 height 返回绘制图形的Cairo表面的高度
属性 surface 返回绘制图形的Cairo表面
属性 width 返回绘制图形的Cairo表面的宽度
方法 _repr_svg_ 返回此图的SVG表示形式作为字符串。
实例变量 _background 未记录
实例变量 _ctx 未记录
实例变量 _filename 未记录
实例变量 _is_dirty 未记录
实例变量 _need_tmpfile 未记录
实例变量 _objects 未记录
实例变量 _palette 未记录
实例变量 _surface 未记录
def __init__(self, target=None, bbox=None, palette=None, background=None): (source)

创建一个新的图表。

参数
target

要写入的目标表面。它可以是以下类型之一:

  • None -- 将创建一个Cairo表面,对象将绘制在那里。
  • cairo.Surface -- 将使用给定的Cairo表面。
  • string -- 将创建一个具有给定名称的文件,并将适当的Cairo表面附加到它。
bbox表面的边界框。不同的表面会以不同的方式解释它:PDF和PS表面会将其视为点(1点=1/72英寸)。图像表面会将其视为像素。SVG表面会将其视为抽象单位,但在Firefox中查看SVG文件时,它大多会被解释为像素。
palette如果添加的对象没有指定私有调色板,则主要用于绘图的调色板。必须是一个igraph.drawing.colors.Palette对象或一个引用igraph.drawing.colors.palettes有效键的字符串(参见模块igraph.drawing.colors)或None。在后一种情况下,将使用配置键plotting.palette给出的默认调色板。
background背景颜色。如果为None,背景将是透明的。你可以使用任何igraph.drawing.colors.color_name_to_rgba理解的颜色规范。
def add(self, obj, bbox=None, palette=None, opacity=1.0, *args, **kwds): (source)

向图表中添加一个对象。

此处未指定的参数将被存储,并在必要时传递给对象的绘图函数。由于您可能对图形可接受的参数最感兴趣,请参阅Graph.__plot__以获取更多详细信息。

参数
obj要添加的对象
bbox对象的边界框。如果为None,对象将填充整个绘图区域。
palette用于绘制对象的调色板。如果对象尝试为某个正整数分配颜色,它将使用此调色板。如果None,则默认为绘图的全局调色板。
opacity被绘制对象的不透明度,范围在0.0-1.0之间
*args未记录
**kwds未记录
另请参阅
Graph.__plot__
@background.setter
def background(self, color): (source)

设置图表的背景颜色。None 表示透明背景。你可以使用当前调色板的 get 方法或 igraph.drawing.colors.color_name_to_rgb 理解的任何颜色规范。

def mark_dirty(self): (source)

将图表标记为脏(应重新绘制)

def redraw(self, context=None): (source)

重新绘制图表

def remove(self, obj, bbox=None, idx=1): (source)

从图中移除一个对象。

如果对象已被多次添加且未指定边界框,则移除对象相同实例列表中第idx个出现的实例。

参数
obj要移除的对象
bbox可选的对象边界框规格。如果提供,则只考虑具有此确切边界框的对象。
idx如果多个对象匹配由 objbbox 给出的规范,则仅删除第 idx 次出现的对象。
返回
True 如果对象已成功移除,False 如果对象根本不在图上或 idx 大于出现次数
def save(self, fname=None): (source)

保存图表。

参数
fname要保存到的文件名。如果绘图的表面不是ImageSurface,则忽略此参数。

未记录

返回图表的背景颜色。None 表示透明背景。

@property
bounding_box = (source)

返回Cairo表面的边界框作为一个BoundingBox对象

返回绘制图表的Cairo表面的高度

返回绘制图表的Cairo表面

返回绘制图形的Cairo表面的宽度

def _repr_svg_(self): (source)

返回此图的SVG表示形式为字符串。

此方法由IPython用于内联显示此图。

_background = (source)

未记录

未记录

_filename = (source)

未记录

_is_dirty: bool = (source)

未记录

_need_tmpfile: bool = (source)

未记录

_objects: list = (source)

未记录

_palette = (source)

未记录

_surface = (source)

未记录