mpl_toolkits.axisartist.angle_helper.ExtremeFinderCycle#

class mpl_toolkits.axisartist.angle_helper.ExtremeFinderCycle(nx, ny, lon_cycle=360.0, lat_cycle=None, lon_minmax=None, lat_minmax=(-90, 90))[源代码][源代码]#

基类:ExtremeFinderSimple

这个子类处理了以下情况:一个或两个坐标应取模360,或者被限制在不超过特定范围。

参数:
nx, ny整数

每个方向的样本数量。

lon_cycle, lat_cycle360 或无

如果不是 None,相应方向的值将取模于 lon_cyclelat_cycle;理论上这可以是任何数字,但实际实现假设它是 360(如果不是 None);其他值会导致无意义的结果。

这是通过“解包”变换后的网格坐标来实现的,使得跳跃小于半个周期;然后将其跨度归一化至不超过一个完整周期。

例如,如果值在 [0, 2] 和 [358, 360] 区间的并集中(通常是模360的角度测量),第二个区间的值会被归一化到 [-2, 0],因此现在的值覆盖了 [-2, 2]。如果值在 [5, 1000] 范围内,这会被归一化到 [5, 365]。

lon_minmax, lat_minmax(float, float) 或 None

如果不是 None,计算出的边界框在相应方向上会被裁剪到给定的范围内。

__call__(transform_xy, x1, y1, x2, y2)[源代码][源代码]#

计算通过对由 (x1, y1, x2, y2) 界定的框应用 transform_xy 得到的边界框的近似值。

预期的使用方式是在轴坐标中使用 (x1, y1, x2, y2),并且 transform_xy 是从轴坐标到数据坐标的变换;此方法随后返回实际轴所跨越的数据坐标范围。

计算是通过在 (x1, y1, x2, y2) 盒子中采样 nx * ny 个等间距的点,并找到具有极值坐标的点来完成的;然后添加一些填充以考虑有限采样的影响。

由于每个采样步骤覆盖了相对范围的 1/nx1/ny,填充是通过将极值坐标所覆盖的范围按这些分数进行扩展来计算的。

使用 mpl_toolkits.axisartist.angle_helper.ExtremeFinderCycle 的示例#

轴方向演示

axis_direction demo

曲线网格演示

Curvilinear grid demo

floating_axis 演示

floating_axis demo

简单轴垫

Simple axis pad