当前位置:首页python > 正文

Python绘制双坐标图

作者:野牛程序员:2023-08-09 08:28:18python阅读 3125

绘制双坐标图时,通常是在同一个图上同时展示两个不同的纵坐标轴,对应不同的数据集。在Matplotlib中,你可以使用twiny()方法来在同一张图中绘制具有不同横坐标刻度的图形。以下是一个示例代码,演示如何在同一张图中绘制双坐标图:

import matplotlib.pyplot as plt
import numpy as np

# 生成 x 值范围
x = np.linspace(0, 10, 100)

# 计算两个不同数据集的 y 值
y1 = np.sin(x)
y2 = np.cos(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.twiny()

# 绘制第二个数据集
ax2.plot(x, y2, 'r-')
ax2.set_xlabel('X-axis (cosine scale)', color='r')
ax2.tick_params(axis='x', labelcolor='r')

# 添加标题
plt.title('Double Axes Plot with Different Y Scales')

# 显示图形
plt.show()

在这个示例中,使用plt.subplots()创建一个图形和主坐标轴ax1,然后在ax1上绘制了第一个数据集。使用ax1.twiny()创建了一个与ax1共享x轴的第二坐标轴ax2,在ax2上绘制了第二个数据集。通过设置ax1ax2的属性,可以分别控制每个坐标轴的外观、标签和刻度。

这样,就可以在同一张图中绘制双坐标图,同时显示两个不同的横坐标轴。


野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击