使用Matplotlib绘制具有多个x和y轴的图形

时间:2017-02-28 10:55:42

标签: python matplotlib graph mplot3d

我查看了Matplotlib文档和其他resources。 我知道当创建多个轴时,它们不相互依赖,我们可以根据不同的轴绘制多条线。 但是我需要将图形绘制为两个Y轴包含的温度为(Celsius和Fahrenheit),并且只需绘制一条与此相关的单行,因此第一轴用户可以检查摄氏度和第二轴华氏度。 x轴作为范围(1-24小时)。

欢迎提出建议。

1 个答案:

答案 0 :(得分:2)

使用twinx()显示两个轴,并将摄氏温度的ax1的y_limits转换为华氏温度的ax2的y_limits:

import matplotlib.pyplot as plt
from random import randint

x = range(1,24)
y = [randint(0,75) for x in x]

fig, ax1 = plt.subplots()

ax1.plot(x,y)
y_lim  = ax1.get_ylim()

y2_lim = [x*9/5 + 32 for x in y_lim]

ax2 = ax1.twinx()
ax2.set_ylim(y2_lim)

ax1.set_ylabel('deg C')
ax2.set_ylabel('deg F')

plt.show()

enter image description here