当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python matplotlib Bbox用法及代码示例


本文简要介绍 python 语言中 matplotlib.transforms.Bbox 的用法。

用法

class matplotlib.transforms.Bbox(points, **kwargs)

基础:BboxBase

一个可变的边界框。

例子

从已知边界创建

默认构造函数采用边界 "points" [[xmin, ymin], [xmax, ymax]]

>>> Bbox([[1, 1], [3, 7]])
Bbox([[1.0, 1.0], [3.0, 7.0]])

或者,可以从展平的点数组创建 Bbox,即所谓的 "extents" (xmin, ymin, xmax, ymax)

>>> Bbox.from_extents(1, 1, 3, 7)
Bbox([[1.0, 1.0], [3.0, 7.0]])

或来自 "bounds" (xmin, ymin, width, height)

>>> Bbox.from_bounds(1, 1, 2, 6)
Bbox([[1.0, 1.0], [3.0, 7.0]])

从点集合创建

用于累加Bboxs的"empty"对象是null bbox,它是一个空集的stand-in。

>>> Bbox.null()
Bbox([[inf, inf], [-inf, -inf]])

向空 bbox 添加点将为您提供这些点的 bbox。

>>> box = Bbox.null()
>>> box.update_from_data_xy([[1, 1]])
>>> box
Bbox([[1.0, 1.0], [1.0, 1.0]])
>>> box.update_from_data_xy([[2, 3], [3, 2]], ignore=False)
>>> box
Bbox([[1.0, 1.0], [3.0, 3.0]])

设置ignore=True 相当于从一个空bbox 重新开始。

>>> box.update_from_data_xy([[1, 1]], ignore=True)
>>> box
Bbox([[1.0, 1.0], [1.0, 1.0]])
警告

建议始终显式指定ignore。如果没有,ignore 的默认值可以随时通过有权访问 Bbox 的代码进行更改,例如使用方法 ignore

``null`` bbox 的属性

注意

Bbox.null() 当前的行为可能会令人惊讶,因为它不具有 "empty set" 的所有属性,因此在数学意义上的行为不像 "zero" 对象。我们将来可能会改变这一点(有一个弃用期)。

空 bbox 是交叉点的标识

>>> Bbox.intersection(Bbox([[1, 1], [3, 7]]), Bbox.null())
Bbox([[1.0, 1.0], [3.0, 7.0]])

除了它本身,它返回完整的空间。

>>> Bbox.intersection(Bbox.null(), Bbox.null())
Bbox([[-inf, -inf], [inf, inf]])

包含 null 的联合将始终返回完整空间(而不是其他集合!)

>>> Bbox.union([Bbox([[0, 0], [0, 0]]), Bbox.null()])
Bbox([[-inf, -inf], [inf, inf]])
参数
points numpy.ndarray

[[x0, y0], [x1, y1]] 形式的 (2, 2) 数组。

相关用法


注:本文由纯净天空筛选整理自skytowner.com大神的英文原创作品 matplotlib.transforms.Bbox。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。