Matplotlib / Pyplot:如何一起放大子图?

我想将3轴加速度计时间序列数据(t,x,y,z)绘制在单独的子图中,我想将它们一起放大。也就是说,当我在一个图上使用“缩放到矩形”工具时,当我释放鼠标时,所有三个图一起缩放。

以前,我只是使用不同的颜色在一个绘图上简单地绘制了所有三个轴。但这仅在少量数据时有用:我有超过200万个数据点,因此绘制的最后一个轴使其他两个点变得模糊。因此,需要单独的子图。

我知道我可以捕获matplotlib / pyplot鼠标事件(http://matplotlib.sourceforge.net/users/event_handling.html),并且我知道可以捕获其他事件(http://matplotlib.sourceforge.net/api/backend_bases_api (.html#matplotlib.backend_bases.ResizeEvent),但我不知道如何知道在任何一个子图上请求了什么缩放,以及如何在其他两个子图上复制它。

我怀疑我已经掌握了一切,只需要最后一条宝贵的线索…

回答:

最简单的方法是在创建轴时使用sharexand / orsharey关键字:

from matplotlib import pyplot as plt

ax1 = plt.subplot(2,1,1)

ax1.plot(...)

ax2 = plt.subplot(2,1,2, sharex=ax1)

ax2.plot(...)

以上是 Matplotlib / Pyplot:如何一起放大子图? 的全部内容, 来源链接: utcz.com/qa/406767.html

回到顶部