我希望能够在一组父轴之上覆盖多个插入轴,如下所示:
理想情况下,我希望将每组插入轴的锚点固定在数据坐标中,但轴的 x、y 范围会随着图形大小而不是数据的比例缩放。
例如,如果我放大父轴中的一个区域,我希望插入轴的位置与绘制在父轴中的数据一起移动,但它们的面积和纵横比保持不变。我正在寻找的确切行为类似于绘图标记或matplotlib.Annotation
实例。但是,我只满足于能够在数据坐标中设置轴的范围。
我知道我可以传递rect
参数来axes()
指定标准化图形坐标中的位置和范围。但是,我需要将轴锚定到数据坐标中的特定点。
我也试过做这样的事情:
from matplotlib import pyplot as pp
fig,parent_ax = pp.subplots(1,1)
parent_ax.set_xlim(0,1)
parent_ax.set_ylim(0,1)
# desired axis bounding box in data coordinates
rect = (0.1,0.2,0.2,0.3)
child_ax = axes(rect)
# apply transformation to data coordinates of parent axis
child_ax.set_transform(parent_ax.transData)
这没有达到预期的效果(我的子轴的 x,y 限制现在与父轴的限制耦合,这是我不想要的,并且它的位置仍然不在数据坐标中)。
我还查看了这里的各种示例,但它们似乎都没有完全符合我的要求,即允许我在数据坐标中指定任意锚点。
有任何想法吗?