python - 如何在同一图表内缩放图表的一部分
问题描述
首先,我的问题在这些帖子中得到了部分回答(如何通过 Matplolib 缩放绘图的一部分,Matplotlib/Pandas: Zoom Part of a Plot with Time Series),但我不能在那里发表评论,因为我是新手在社区上,并且没有权限这样做。
正是我想要的,但是缩放太小了,当我改变缩放时,框的纵横比会按比例变化。对于 8 倍变焦:
我试图改变轴的纵横比,但不起作用,我想要的缩放非常大,以捕捉接近零的线条波动:
除此之外,代码正在绘制与原始线条不同颜色的缩放。当然,我可以注意到这是因为我制作了两次情节,一次用于斧头,另一次用于斧头。我怎样才能解决这个问题?
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()
解决方案
推荐阅读
- c# - 对 Asp.NET Core Web 应用程序中的 SignalR websockets 400 和 503 错误进行故障排除
- node.js - NodeJS 和 ExpressJS 应用程序使用 TAP 超时
- python - 如何在 django RetrieveUpdateDestroyAPIView 中为模型字段设置自定义值?
- java - 文本字段留在键盘 Android 后面
- google-cloud-platform - 用户在 Google Workspace Marketplace 上回复用户评论需要哪些 GCP AIM 权限
- db2 - 在 db 2 中编写函数的问题
- javascript - 如何在不同的 vue 方法中调用函数内部的 vue 方法
- mongodb - 如何在 vagrant 之外访问 MongoDB?
- python - 如何使用 React JS 在前端显示图像 ND 数组
- python - 主管:无法执行 start_daphne.bash:ENOENT 主管:未生成子进程(daphne)