python – 多个y-scale但只有一个启用了pan和zoom

前端之家收集整理的这篇文章主要介绍了python – 多个y-scale但只有一个启用了pan和zoom前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

考虑以下用于绘制matplotlib图的python代码

  1. import matplotlib.pylab as pp
  2. import numpy as np
  3. alpha = np.linspace(0,2 * np.pi,400)
  4. sig1 = np.sin(alpha)
  5. sig2 = np.sin(2 * alpha) + 2 * (alpha > np.pi)
  6. ax1 = pp.subplot(111)
  7. ax2 = ax1.twinx()
  8. ax1.plot(alpha,sig1,color='b')
  9. ax2.plot(alpha,sig2,color='r')
  10. ax1.set_ylabel('sig1 value',color='b')
  11. ax2.set_ylabel('sig2 value',color='r')
  12. pp.grid()
  13. pp.show()

给我一个很好的情节

我想了解如何禁用其中一个轴进行平移/缩放,因此当我使用平移/缩放工具时,只有ax2会重新缩放.有没有办法做到这一点?我想以编程方式进行.

最佳答案
您可以使用ax2.set_navigate(False)执行此操作:

  1. from matplotlib.pyplot import *
  2. import numpy as np
  3. fig,ax1 = subplots(1,1)
  4. ax2 = ax1.twinx()
  5. ax2.set_navigate(False)
  6. x = np.linspace(0,2*np.pi,100)
  7. ax1.plot(x,np.sin(x),'b')
  8. ax1.set_xlabel('Scaleable axis')
  9. ax1.set_ylabel('Scaleable axis')
  10. ax2.plot(x,np.sin(x+1),'r')
  11. ax2.set_ylabel('Static axis',weight='bold')

猜你在找的Python相关文章