zoukankan      html  css  js  c++  java
  • matplotlib BboxBase类

    2020-04-07 17:24:12  --Edit by yangray

    BboxBaseTransformNode 的子类, 同时它是所有 bounding box(平行四边形限位框) 的基类,提供 ‘只读’ 的访问, 常规的是以两个点(无顺序约束)表示,此类提供方便的

    上 下 左 右边,宽 高 和 顶点坐标之间的转换方法。

    方法:

    • frozon():  

        返回静态的本Bbox对象的拷贝, 不会随子变换改变而改变

    • is_unit():

        若Bbox是单位Bbox (由[(0,0), (1, 1)]初始化, 即长宽都是1, 左下角在原点),则返回True,反之为False

    @property: 此后的方法由property装饰,且无property.setter(意为该属性只可读,不能改)

    • x0(), y0(), x1(), y1(), p0(), p1():

        返回初始化参数中的 x0, y0, x1, y1, (x0, y0), (x1, y1) (不保证x0<x1, y0<y1)

    • xmin(), ymin(), xmax(), ymax(), min(), max()

        返回Bbox的 左,下, 右,上边,左下, 右上点。 其中左下点横纵坐标保证<右上角.

    • intervalx(), intervaly():

        返回(x0, x1), (y0, y1)(不保证x0<x1, y0<y1)

    • width(), height(), size():

        返回Bbox的宽, 高, (宽, 高)。(注意: 若x1<x0, y1<y0, 宽高将为负数)

    • bounds():

        返回(x0, y0, width, height)。(width, height可能为负数)

    • extents():

        返回(x0, x1, y0, y1)

    @property修饰器到此为止

    • get_points():

        抽象方法。(子类必需继承该方法)

    • containsx(x), containsy(y), contains(x, y):

        返回边x, y,点(x, y) 是否在(x0, x1) ,(y0, y1),((x0, x1) ,(y0, y1))区间内, 在内为True, 反之为False

    • overlaps(other), fully_overlaps(other):

        返回当前bbox与[other]:其他bbox实例 是否重叠(边重叠算重叠) / 完全重叠(边重叠不算),重叠为True, 不重为False

    • fully_containsx(x), fully_containsy(y), fully_contains(x, y):

        返回 边x, y, 点 (x, y) 是否在(x0, x1)/ (y0, y1)/ ((x0, x1), (y0, y1)) 的开区间内(在边上不算),在内为True, 在外为False

    • transformed(transform), inverse_transformed(trans):

        返回一个由指定变换[transform]做静态变化 /( 再得反转) 之后的bbox 。(变换有尺度,位置,旋转,反转等变化)

    • anchord(c, container=None):

        参数 [c]: 锚点, 可以是 大写的方位首字母,'C'(中)、'S'(南)、'E'(东)、'NW'(西北)等,也可以是形如(0.2, 0.4)的元组(0为最左/下, 1为最右/上)       [container]: Bbox实例,锚定的目标容器 ,默认为None(即自身)

        返回以[c]指定的锚点为左下角, 移动bbox。

    • shrunk(mx, my),shrunk_to_aspect(box_aspect, container=None, fig_aspect=1.0):

        shrunk()

          参数 [mx], [my]: 浮点数, 通常取值为 0~1

          返回按mx,my缩小宽高后的Bbox

        shrunk_to_aspect()

          参数 [box_aspect]: 宽高比,[container]: 容器figure, 默认为None(自身)

          [fig_aspect]: 默认容器figure纵横比(若bbox坐标为相对的, 将容器figure宽高用fig_aspect约束,使box_aspect工作在一个绝对的维度下)

          收缩至可维持宽高比(box_aspect)的最大值

    • splitx(*args), splity(*args):

         参数 [*args]: 由0~1之间的浮点数组成的元组, 0为左或下, 1为右或上

        返回 按*args指定的位置横向 / 纵向切割成的Bbox的列表

    • count_contains(vertices), count_overlaps(bboxes):

        count_contains():     

                    参数 [vertices]: 点集, Nx2 numpy数组, Ex: [(1, 2), (2, 5), (6, 2)]

          返回vertices中包含在本Bbox中的顶点的个数

        count_overlaps():

         参数[bboxes]: Bbox集, Bbox实例数组, 

         返回bboxes中和本bbox重叠的bbox数量

    • expanded(sw, sh):

         参数 [sw], [sh]: 扩展比例

        返回以本Bbox将宽、高伸长至sw*width, sh*height(中心点不动)后的新Bbox

    • padded(p):

         参数[p]: 垫起的厚度

        返回本bbox将四边都垫厚p之后的新bbox

    • translated(tx, ty):

         参数[tx], [ty]:含义未知

         返回本bbox由tx, ty 静态地转换后的新Bbox

    • corners():

         返回四个角的坐标的列表, 按左下、左上, 右下, 右上的顺序

    • rotate(radians):

         [radians]: 返回本bbox顺时针旋转弧度(raidans)后的新bbox(中心不动)。

    @staticmethod: 静态方法(不接受默认传递的self指针参数,不传递建议以类调用,不从实例调用)

    • union(bboxes), intersection(bbox1, bbox2):

         参数 [bboxes]为bbox集, [bbox1]和[bbox2]为单个bbox

        返回bboxes的交集(包含所有bboxes中bbox的大bbox)/ bbox1和bbox2的交集

  • 相关阅读:
    Python for Infomatics 第14章 数据库和SQL应用四(译)
    展望2017
    bing的简单英文字典工具
    自我安慰
    Python for Infomatics 第14章 数据库和SQL应用三(译)
    Python for Infomatics 第14章 数据库和SQL应用二(译)
    Python for Infomatics 第14章 数据库和SQL应用一(译)
    希望父亲早日恢复
    Python for Infomatics 第13章 网页服务四(译)
    Python for Infomatics 第13章 网页服务三(译)
  • 原文地址:https://www.cnblogs.com/exploer/p/12653945.html
Copyright © 2011-2022 走看看