Python 放大数据的最有效方法,重新对齐y轴比例

Python 放大数据的最有效方法,重新对齐y轴比例,python,matplotlib,plot,jupyter-notebook,Python,Matplotlib,Plot,Jupyter Notebook,我正在处理一个大型timeseries数据集,绘制(3,1,x)子批次,所有这些都是根据相同的时间戳绘制的。由于数据相当大,为了进行分析,我需要“放大”各个部分,并在微观层面上比较这三张图 我认为最简单的方法是首先绘制完整的数据集,然后在每个子图上使用xlim函数,以便只看到感兴趣的部分。问题在于“缩放”图形上的y轴比例完全不成比例 我想知道是否有一种简单的方法可以根据数据的xlim部分对应的y值自动重新调整y轴。使用xlim时,自动缩放不起作用,它基本上会删除xlim并绘制完整的数据集 fig

我正在处理一个大型timeseries数据集,绘制(3,1,x)子批次,所有这些都是根据相同的时间戳绘制的。由于数据相当大,为了进行分析,我需要“放大”各个部分,并在微观层面上比较这三张图

我认为最简单的方法是首先绘制完整的数据集,然后在每个子图上使用xlim函数,以便只看到感兴趣的部分。问题在于“缩放”图形上的y轴比例完全不成比例

我想知道是否有一种简单的方法可以根据数据的xlim部分对应的y值自动重新调整y轴。使用xlim时,自动缩放不起作用,它基本上会删除xlim并绘制完整的数据集

fig = plt.figure(figsize=(8, 6))
ax1 = fig.add_subplot(3,1,1)
ax2 = fig.add_subplot(3,1,2)
ax3 = fig.add_subplot(3,1,3)
ax1.plot(xaxis, e)
ax2.plot(xaxis, y, 'b-', label = "y")
ax2.plot(xaxis, yhat, 'm--', label = "yhat") 
ax3.plot(xaxis, yraw, label = target)
ax1.set_xlim(start,end) 
ax2.set_xlim(start,end)
ax3.set_xlim(start,end)
plt.show()

我想放大数据最简单的方法是。在jupyter笔记本中,您可以通过
plt.show()
显示图形,而无需内联魔术。您还可以使用
%matplotlib笔记本
magic获得它

要确保所有子地块共享相同的缩放比例,可以使用
sharex
sharey
属性


plt.axis('equal')会对你有帮助吗?还有,你有没有理由不能只绘制你关心的部分?最后,请发布一些示例代码,充分说明这个问题。i)plt.axis('equal')似乎没有回到适当的比例ii)用所有数据创建一个图,仅更改限制的优点是不必在每次添加代码时从头开始创建新绘图。这很有用,但有两个问题:i)我需要所有3个子绘图显示数据集的相同部分ii)这并不能解决缩放问题。我编辑了问题(i)的答案。但我还没有真正理解缩放问题。使用矩形可以用鼠标确定两个方向上的缩放比例。缩放问题是,完整数据上的最大-最小y值范围明显大于放大数据上的最小人范围。因此,理想情况下,我希望在微观水平上分析时,y轴能够重新缩放到更小的范围。无论如何,你的建议已经足够好了,因为我可以在移动指针时看到确切的点。非常感谢。