python matplotlib库实现绘制一张图内两个纵坐标
作者:野牛程序员:2023-08-09 08:27:08python阅读 3104
要在同一张图中绘制两个具有不同纵坐标刻度的图形,可以使用Matplotlib的twinx()
方法创建共享x轴的第二个坐标轴。以下是一个示例代码,演示如何在同一张图中绘制两个具有不同纵坐标刻度的图形:
import matplotlib.pyplot as plt import numpy as np # 生成 x 值范围 x = np.linspace(0, 10, 100) # 计算两个不同纵坐标序列的 y 值 y1 = np.sin(x) y2 = np.exp(-x) * np.cos(2 * np.pi * x) # 创建一个图形和坐标轴 fig, ax1 = plt.subplots() # 绘制第一个纵坐标序列 ax1.plot(x, y1, 'b-') ax1.set_xlabel('X-axis') ax1.set_ylabel('sin(x)', color='b') ax1.tick_params(axis='y', labelcolor='b') # 创建一个共享 x 轴的第二个坐标轴 ax2 = ax1.twinx() # 绘制第二个纵坐标序列 ax2.plot(x, y2, 'r-') ax2.set_ylabel('exp(-x) * cos(2πx)', color='r') ax2.tick_params(axis='y', labelcolor='r') # 添加标题 plt.title('Two Y Axes in One Plot') # 显示图形 plt.show()
在这个示例中,首先生成了两个不同的纵坐标序列y1
和y2
,然后使用plt.subplots()
创建一个图形和坐标轴。使用ax1
坐标轴绘制了第一个序列,然后使用ax1.twinx()
创建了一个与ax1
共享x轴的第二个坐标轴ax2
,在ax2
上绘制了第二个序列。通过设置ax1
和ax2
的属性,可以分别控制每个坐标轴的外观和标签。
这样,就可以在同一张图中绘制两个具有不同纵坐标刻度的图形。
野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892

- 上一篇:python如何用matplotlib绘图
- 下一篇:Python绘制双坐标图