嵌入轴固定在数据坐标中的特定点?

ali*_*i_m 6 python plot transformation matplotlib

我希望能够在一组父轴上叠加多个插入轴,如下所示:

在此输入图像描述

理想情况下,我希望每组插入轴的锚点固定在数据坐标中,但是轴的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)
Run Code Online (Sandbox Code Playgroud)

它没有所需的效果(我的子轴的x,y限制现在耦合到父轴的x,y限制,我不想要,并且它的位置仍然不在数据坐标中).

我也看过这里各种例子,但是它们似乎都没有完全符合我的要求,即允许我在数据坐标中指定一个任意的锚点.

有任何想法吗?

Ben*_*own 0

将插入轴保存为图像,然后将它们插入到较大的图中。请参阅在 Matplotlib/Python 中将小照片/图像添加到大图中