2017-02-28 92 views
0

当我使用Matplotlib文档和其他resources进行检查时。 当我创建了多轴时,他们彼此不依赖,我们可以根据不同的坐标轴绘制多行。 但我需要绘制图形,就像两个Y轴包含温度(摄氏和华氏)一样,并且只需要绘制一条与此相关的单线,以便第一轴用户能够检查摄氏温度和第二轴华氏度。以x轴为范围(1至24小时)。带有使用Matplotlib的多个x和y轴的图形

建议是非常受欢迎的。

回答

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

+0

感谢您的指导,但是当我这样做,它使第一个y轴到静态,所以当我放大图形不会改变测量时,是否需要使用此功能或库。 –

+0

您提供的方式是与plt.show()一起工作,但不能与mpld3.show()一起使用。我需要在网页上绘制图表。 –

+0

似乎是一个已知的[bug](https://github.com/mpld3/mpld3/issues/188) – Crispin

相关问题