类文档

表示图的布局。

布局实际上是 n 维空间中的坐标列表。此类的通用性体现在它可以在任何 n 维空间中存储坐标。

布局对象不直接与图关联。这是故意的:有时我使用几乎完全相同的图副本,唯一的区别是它们为顶点分配了不同的颜色。对我来说,对所有这些图使用相同的布局特别方便,尤其是在我为论文制作图时。然而,igraph如果布局中的坐标少于图的节点数量,则它当然会拒绝绘制该图。

布局在使用项索引操作符([...])访问时表现得与列表完全相同。它们甚至可以被迭代。索引操作符返回的项只是坐标的副本,但存储的坐标可以通过直接赋值给索引来修改。

>>> layout = Layout([(0, 1), (0, 2)])
>>> coords = layout[1]
>>> print(coords)
[0, 2]
>>> coords = (0, 3)
>>> print(layout[1])
[0, 2]
>>> layout[1] = coords
>>> print(layout[1])
[0, 3]
方法 __copy__ 未文档化
方法 __delitem__ 未文档化
方法 __getitem__ 未文档化
方法 __init__ 构造函数。
方法 __len__ 未文档化
方法 __repr__ 未文档化
方法 __setitem__ 未文档化
方法 append 将新点附加到布局。
方法 boundaries 返回布局的边界。
方法 bounding_box 返回布局的边界框。
方法 center 将布局围绕给定点居中。
方法 centroid 返回布局的质心。
方法 copy 创建布局的精确副本。
方法 fit_into 将布局适应到给定的边界框中。
方法 mirror 沿着给定维度(或多个维度)镜像布局。
方法 rotate 在由给定两个维度定义的平面上,将布局旋转给定度数。
方法 scale 缩放布局。
方法 to_radial 将平面布局转换为径向布局。
方法 transform 对布局执行任意变换。
方法 translate 平移布局。
属性 coords 坐标,以列表的列表形式。
属性 dim 返回维度数量。
实例变量 _coords 未文档化
实例变量 _dim 未文档化
def __copy__(self): (源)

未文档化

def __delitem__(self, idx): (源)

未文档化

def __getitem__(self, idx): (源)

未文档化

def __init__(self, coords=None, dim=None): (源)

构造函数。

参数
coords要存储在布局中的坐标。
dim维度数量。如果None,维度数量将根据坐标列表第一个项的长度自动确定。如果坐标列表中没有条目,默认值为 2。通常,如果坐标列表的长度为零,则应提供此参数,否则应保持原样。
def __len__(self): (源)

未文档化

def __repr__(self): (源)

未文档化

def __setitem__(self, idx, value): (源)

未文档化

def append(self, value): (源)

将新点附加到布局。

def boundaries(self, border=0): (源)

返回布局的边界。

边界是所有维度上的最小和最大坐标。

参数
border此值在返回框的坐标之前,会从最小边界中减去并添加到最大边界中。默认为零。
返回
所有维度上的最小和最大坐标,以包含两个列表的元组形式返回,一个用于最小坐标,另一个用于最大坐标。
引发
ValueError如果布局不包含任何布局项。
def bounding_box(self, border=0): (源)

返回布局的边界框。

布局的边界框是包含布局中所有点的最小框。

参数
border此值在返回框的坐标之前,会从最小边界中减去并添加到最大边界中。默认为零。
返回
框的左下角和右上角坐标。"左下角"表示最小坐标,"右上角"表示最大坐标。这些被封装在一个 BoundingBox 对象中。
def center(self, *args, **kwds): (源)

将布局围绕给定点居中。

该点本身可以作为多个未命名参数、简单的未命名列表或关键字参数提供。此操作将布局的质心移动到给定点。如果没有提供点,则默认为坐标系的原点。

参数
*args未文档化
p操作后布局质心将位于的点。
def centroid(self): (源)

返回布局的质心。

布局的质心是布局中所有点的算术平均值。

返回
质心,以浮点数列表形式。
def copy(self): (源)

创建布局的精确副本。

def fit_into(self, bbox, keep_aspect_ratio=True): (源)

将布局适应到给定的边界框中。

布局将就地修改。

参数
bbox要适应布局的边界框。如果布局的维度为 d,它可以是 d 元组(定义框的大小)、2d 元组(定义框的左上角和右下角点的坐标),或 `BoundingBox` 对象(仅适用于 2D 布局)。
keep_aspect_ratio是否保持当前布局的纵横比。如果False,布局将被重新缩放以完全适应边界框。如果True,将保留布局的原始纵横比,并将其居中于边界框内。
def mirror(self, dim): (源)

沿着给定维度(或多个维度)镜像布局。

参数
dim维度列表或单个维度。
def rotate(self, angle, dim1=0, dim2=1, **kwds): (源)

在由给定两个维度定义的平面上,将布局旋转给定度数。

参数
angle旋转角度,以度为单位。
dim1旋转平面的第一个轴。
dim2旋转平面的第二个轴。
origin旋转原点。如果未指定,原点将是坐标系的原点。
def scale(self, *args, **kwds): (源)

缩放布局。

缩放参数可以通过以下方式提供:scale关键字参数或通过普通的未命名参数。如果给定单个整数或浮点数,则将其解释为应用于所有维度的统一乘数。如果它是列表或元组,其长度必须等于布局的维度数量,并且每个元素必须是描述其中一个维度缩放系数的整数或浮点数。

参数
*args未文档化
scale缩放系数(整数、浮点数、列表或元组)。
origin缩放原点(此点将保持不变)。可选,默认为所用坐标系的原点。
def to_radial(self, min_angle=100, max_angle=80, min_radius=0.0, max_radius=1.0): (源)

将平面布局转换为径向布局。

此方法仅适用于 2D 布局。布局的 X 坐标被转换为一个角度,其中 min(x) 对应于参数 *min_angle*,max(y) 对应于 *max_angle*。角度以度为单位,零度对应于向上方向。Y 坐标被解释为半径,其中 min(y) 属于最小半径,max(y) 属于参数中给定的最大半径。

这不是一个完全通用的极坐标变换,但它在从普通自上而下的树布局创建径向树布局时非常有用(这就是 Y 坐标属于半径的原因)。它还可以与 Fruchterman-Reingold 布局算法结合使用,通过其 *miny* 和 *maxy* 参数(参见 Graph.layout_fruchterman_reingold())生成径向布局,其中半径属于顶点的某些属性。

参数
min_angle对应于最小 X 值的角度。
max_angle对应于最大 X 值的角度。
min_radius对应于最小 Y 值的半径。
max_radius对应于最大 Y 值的半径。
def transform(self, function, *args, **kwds): (源)

对布局执行任意变换。

附加的位置参数和关键字参数将完整地传递给给定函数。

参数
function一个函数,它接收坐标作为元组并返回转换后的元组。
*args未文档化
**kwds未文档化
def translate(self, *args, **kwds): (源)

平移布局。

平移向量可以通过以下方式提供:v关键字参数或通过普通的未命名参数。如果使用未命名参数,向量可以作为单个列表(或元组)或仅作为一系列参数提供。在所有情况下,平移向量必须与布局具有相同的维度数量。

参数
*args未文档化
v平移向量。

坐标,以列表的列表形式。

返回维度数量。

_coords = (源)

未文档化

未文档化