首先,我的问题在这些帖子(How to zoom a part of plot by Matplolib,Matplotlib/Pandas: Zoom Part of a Plot with Time Series)中得到了部分回答,但我不能在那里发表评论,因为我是社区的新手,没有这样做的许可
这正是我想要的,但是缩放太小了,当我改变缩放时,长方体的纵横比会成比例地改变。对于8倍变焦:
我曾尝试改变Axin的纵横比,但就是不起作用,我想要的缩放非常大,以捕捉接近零的线条波动:
除此之外,代码还使用与原始线条不同的颜色打印缩放。当然,我可以注意到这是因为我绘制了两次图,一次用于ax,另一次用于Axin。我怎样才能解决这个问题
from mpl_toolkits.axes_grid1.inset_locator import zoomed_inset_axes
from mpl_toolkits.axes_grid1.inset_locator import mark_inset
fig=plt.figure()
sns.set_style('whitegrid', {'legend.frameon':True})
sns.set_palette("deep")
fig= plt.subplots(figsize=(10,5))
ax=plt.axes()
ax.plot(me_re5200['y^+'],me_re5200['U'],markevery=0.2,marker='o',label='$\\overline{u}$ em Re = 5200')
ax.plot(me_re2000['y^+'],me_re2000['U'],markevery=0.3,marker='o',label='$\\overline{u}$ em Re = 2000')
ax.plot(me_re5200['y^+'],me_re5200[' W'],markevery=0.2,marker='o',label='$\\overline{w}$ em Re = 5200')
ax.plot(me_re2000['y^+'],me_re2000['W'],markevery=0.3,marker='o',label='$\\overline{w}$ em Re = 2000')
plt.xscale('symlog')
plt.grid(True)
plt.ylabel("$U^+$")
plt.xlabel('$y^{+}$')
plt.xlim(1,None)
plt.legend(frameon=True,edgecolor='grey',loc=6)
x1,x2=30,80
y1,y2=-1,1
axins=zoomed_inset_axes(ax, 2,loc='center right') # 2 = zoom
axins.plot(me_re5200['y^+'],me_re5200[' W'],markevery=0.2,marker='o')
axins.plot(me_re2000['y^+'],me_re2000['W'],markevery=0.3,marker='o')
plt.xscale('symlog')
axins.axis([x1, x2, y1, y2])
plt.xticks(visible=False)
plt.yticks(visible=True)
mark_inset(ax, axins, loc1=2, loc2=4, fc="none", ec="0.5")
plt.draw()
plt.show()
目前没有回答
相关问题 更多 >
编程相关推荐