模块文档

绘图例程的实用类。

BoundingBox 表示包围某些对象的边界框(矩形区域)的类。
FakeModule 遇到任何情况都会引发异常的伪模块。
Point 表示二维平面上的点的类。
Rectangle 表示矩形的类。
函数 autocurve 计算图中每条边的曲率值,以确保多条边在图表中正确显示。
函数 calculate_corner_radii 给定一个点列表和一个期望的角半径,返回一个包含每个点的建议角半径的列表,确保一个点的角半径永远不会大于该点与其邻居之间最小距离的一半。
函数 euclidean_distance 计算点(x1,y1)和(x2,y2)之间的欧几里得距离。
函数 evaluate_cubic_bezier 在t处通过控制点(x1,y1)和(x2,y2)评估从点(x0,y0)到(x3,y3)的贝塞尔曲线。t通常在[0; 1]范围内,其中0返回(x0, y0),1返回(x3, y3)。
函数 get_bezier_control_points_for_curved_edge 计算从(x1, y1)到(x2, y2)的弯曲边的贝塞尔控制点的辅助函数。
函数 intersect_bezier_curve_and_circle 用于查找贝塞尔曲线与以曲线终点为中心的圆的交点的二分搜索求解器。
函数 str_to_orientation 尝试将字符串解释为方向值。
def autocurve(graph, attribute='curved', default=0): (源)

计算图中每条边的曲率值,以确保多条边在图表中正确显示。

此函数检查图中每条边的多重性,并为其分配曲率值(-1 到 1 之间的数字,对应于逆时针 (-1)、直线 (0) 和顺时针 (1) 弯曲的边)。根据 attribute 参数的值,分配的值可以存储在边属性中,也可以作为列表返回。

参数
graph将运行计算的图。
attribute用于保存曲率值的边属性的名称。默认值为curved,它是默认图绘图器检查以决定边是否应在绘图上弯曲的边属性名称。如果 attributeNone,结果将不会被存储。
default单边的默认曲率。零表示单边将是直线。如果您也希望单边弯曲,请尝试在此处传入 0.5 或 -0.5。
返回
如果 attribute 是,则为曲率值列表None,否则None.
def calculate_corner_radii(points, corner_radius): (源)

给定一个点列表和一个期望的角半径,返回一个包含每个点的建议角半径的列表,确保一个点的角半径永远不会大于该点与其邻居之间最小距离的一半。

def euclidean_distance(x1, y1, x2, y2): (源)

计算点(x1,y1)和(x2,y2)之间的欧几里得距离。

def evaluate_cubic_bezier(x0, y0, x1, y1, x2, y2, x3, y3, t): (源)

在t处通过控制点(x1,y1)和(x2,y2)评估从点(x0,y0)到(x3,y3)的贝塞尔曲线。t通常在[0; 1]范围内,其中0返回(x0, y0),1返回(x3, y3)。

def get_bezier_control_points_for_curved_edge(x1, y1, x2, y2, curvature): (源)

计算从(x1, y1)到(x2, y2)的弯曲边的贝塞尔控制点的辅助函数。

def intersect_bezier_curve_and_circle(x0, y0, x1, y1, x2, y2, x3, y3, radius, max_iter=10): (源)

用于查找贝塞尔曲线与以曲线终点为中心的圆的交点的二分搜索求解器。

返回交点的 x, y 坐标。

def str_to_orientation(value, reversed_horizontal=False, reversed_vertical=False): (源)

尝试将字符串解释为方向值。

以下基本值可被识别:``left-right``(左-右)、``bottom-top``(下-上)、``right-left``(右-左)、``top-bottom``(上-下)。可能的别名包括

  • ``horizontal``、``horiz``、``h`` 和 ``lr`` 用于表示 ``left-right``(左-右)
  • ``vertical``、``vert``、``v`` 和 ``tb`` 用于表示 ``top-bottom``(上-下)。
  • ``lr`` 用于表示 ``left-right``(左-右)。
  • ``rl`` 用于表示 ``right-left``(右-左)。

``reversed_horizontal`` 将 ``horizontal``、``horiz`` 和 ``h`` 的含义反转为 ``rl``(而非 ``lr``);类似地,``reversed_vertical`` 将 ``vertical``、``vert`` 和 ``v`` 的含义反转为 ``bt``(而非 ``tb``)。

返回 ``lr``、``rl``、``tb`` 或 ``bt`` 之一,如果字符串无法解释为方向,则抛出 ``ValueError``。