【发布时间】:2014-07-24 23:11:50
【问题描述】:
我正在尝试使用 matplotlib 制作插图。目前我有类似的最后一个答案 How to zoomed a portion of image and insert in the same plot in matplotlib
那里有一个决定缩放系数的参数。但是,我想更改 x 轴和 y 轴之间的比例,即我想在 x 轴上放大更多。 (因此在示例中,正方形将映射到插图下方的矩形)。
我如何做到这一点?
这是一个工作示例:
import pylab as pl
import numpy as np
from mpl_toolkits.axes_grid1.inset_locator import zoomed_inset_axes
from mpl_toolkits.axes_grid1.inset_locator import mark_inset
x=np.linspace(0,1,100)
y=x**2
ax=pl.subplot(1,1,1)
ax.plot(x,y)
axins = zoomed_inset_axes(ax, 1, loc=2,bbox_to_anchor=(0.2, 0.55),bbox_transform=ax.figure.transFigure) # zoom = 6
axins.plot(x,y)
x1, x2= .4, .6
y1,y2 = x1**2,x2**2
axins.set_xlim(x1, x2)
axins.set_ylim(y1, y2)
mark_inset(ax, axins, loc1=1, loc2=3, fc="none", ec="0.5")
pl.show()
所以我想做的是能够分别改变插图的宽度和高度,而不改变插图的x和y范围。
【问题讨论】:
-
你能提供一些你目前所拥有的工作示例代码吗?
-
有人在这方面取得了进展吗?我也想做同样的事情。
标签: python matplotlib plot insets