2017-02-28 135 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