6

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

在此处输入图像描述

理想情况下,我希望将每组插入轴的锚点固定在数据坐标中,但轴的 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 限制现在与父轴的限制耦合,这是我不想要的,并且它的位置仍然不在数据坐标中)。

我还查看了这里的各种示例,但它们似乎都没有完全符合我的要求,即允许我在数据坐标中指定任意锚点。

有任何想法吗?

4

1 回答 1

0

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

于 2015-04-17T02:52:30.163 回答