详解Matplotlib绘制双轴图的使用方法

Matplotlib可以绘制双轴图,又称为双y轴图,是一种常见的图表类型。它允许在一个坐标系中同时绘制两个y轴,使得可以同时展示两个不同的数据集或变量之间的关系。

下面介绍如何使用Matplotlib绘制双轴图。

导入相关库

import numpy as np
import matplotlib.pyplot as plt

创建数据

x = np.arange(0, 10, 0.1)
y1 = np.sin(x)
y2 = np.exp(x)

绘制图像

fig, ax1 = plt.subplots()

ax1.plot(x, y1, 'g-')
ax1.set_xlabel('X-axis')
ax1.set_ylabel('Y1-axis', color='g')
ax1.tick_params('y', colors='g')

ax2 = ax1.twinx()
ax2.plot(x, y2, 'b-')
ax2.set_ylabel('Y2-axis', color='b')
ax2.tick_params('y', colors='b')

plt.show()

代码说明:

  • plt.subplots() 创建一个图表和一组子图,返回一个元组(fig, ax)
  • ax1.plot() 绘制y1与x的图像
  • ax1.set_xlabel() 设置x轴标签
  • ax1.set_ylabel() 设置y1轴标签,color参数指定颜色
  • ax1.tick_params() 设置y1轴刻度的颜色
  • ax2 = ax1.twinx() 创建一个相同的x轴,但共享y轴的图像,即创建副坐标轴
  • ax2.plot() 绘制y2与x轴的图像
  • ax2.set_ylabel() 设置y2轴标签,color参数指定颜色
  • ax2.tick_params() 设置y2轴刻度的颜色
  • plt.show() 显示图像

结果如下图所示:

这个方法是使用了两个“axes”来分别绘制两个关于y轴的数据集。

其中一个“axes”通过使用“twinx”函数来建立,这样就创建了一个独立的y轴共享同一x轴。

控制机制的一个诀窍是在两个子图之间进行交互,以便于颜色、标签和其他选项可以在双y轴上共享。

本文链接:https://my.lmcjl.com/post/20241.html

展开阅读全文

4 评论

留下您的评论.