1. 程式人生 > >Matplotlib 雙Y軸曲線

Matplotlib 雙Y軸曲線

雙y軸影象具有單y軸影象沒有的對比效果,在MATLAB中有plotyy函式可以實現,Python的實現方式沒有MATLAB那樣方便,不過實現效果卻也不見得差。

以往我常用的繪圖命令是
import matplotlib.pylab as plt # 匯入繪圖包
plt.figure() # 建立影象檔案
plt.plot(…) # 繪製圖像
plt.show() # 顯示影象

在雙y軸製圖中,繪圖命令和以往不同,因而在此記錄以備日後查閱。以一段程式為例
fig, ax1 = plt.subplots() # 使用subplots()建立視窗
ax2 = ax1.twinx() # 建立第二個座標軸
ax1.plot(pos_z, E_z, linewidth = 2) # E_z是一組資料,不用在意
ax2.plot(pos_z, Enhance_z, linewidth = 3) # Ehance_z 是一組資料,不用在意
ax1.set_xlabel(‘position (nm)’, fontsize = 16) # fontsize使用方法和plt.xlabel()中一樣
ax1.set_ylabel(‘|E

z| (V/m)’, fontsize = 16)
ax2.set_ylabel(‘Enhancement’, fontsize = 16)
ax1.set_xlim([0, max(pos_z)]) # 設定座標軸範圍的語句有所變化
ax1.set_ylim(0, max(E_z))
ax2.set_ylim([0, max(Enhance_z)])
plt.show()