17.Matplotlib双轴图

在一些应用场景中,有时需要绘制两个 x 轴或两个 y 轴,这样可以更直观地显现图像,从而获取更有效的数据。Matplotlib 提供的 twinx() 和 twiny() 函数,除了可以实现绘制双轴的功能外,还可以使用不同的单位来绘制曲线,比如一个轴绘制对函数,另外一个轴绘制指数函数。

下面示例绘制了一个具有两个 y 轴的图形,一个显示指数函数 exp(x),另一个显示对数函数 log(x)。

  1. import matplotlib.pyplot as plt
  2. import numpy as np
  3. #创建图形对象
  4. fig = plt.figure()
  5. #添加子图区域
  6. a1 = fig.add_axes([0,0,1,1])
  7. #准备数据
  8. x = np.arange(1,11)
  9. #绘制指数函数
  10. a1.plot(x,np.exp(x))
  11. a1.set_ylabel('exp')
  12. #添加双轴
  13. a2 = a1.twinx()
  14. #‘ro’表示红色圆点
  15. a2.plot(x, np.log(x),'ro-')
  16. #绘制对数函数
  17. a2.set_ylabel('log')
  18. #绘制图例
  19. fig.legend(labels = ('exp','log'),loc='upper left')
  20. plt.show()

输出结果:

matplotlib绘图
图1:输出结果
posted @ 2022-08-13 09:39  随遇而安==  阅读(105)  评论(0编辑  收藏  举报