matplotlibでy軸を複数持たせる方法です。
ax2 = ax1.twinx()
で複数の軸を持つことが出来ます。
テスト用データ
x=[0,1,2,3]
y1=[1,2,3,4]
y2=[10,25,30,45]
y3=[150,200,350,400]
2軸でプロット
ソース
import matplotlib.pyplot as plt
fig, ax1 = plt.subplots( )
ax1.plot(x,y1 ,"b-")
ax1.set_ylabel("y1")
ax2 = ax1.twinx()
ax2.plot(x,y2 ,"r-")
ax2.set_ylabel("y2")
plt.show()
結果
参考
Different scales on the same axes
3軸でプロット
ソース
import matplotlib
fig, ax1 = plt.subplots( )
ax1.plot(x,y1 ,"b-")
ax1.set_ylabel("y1")
ax2 = ax1.twinx()
ax3 = ax1.twinx()
ax2.plot(x,y2 ,"r-")
ax2.set_ylabel("y2")
ax3.plot(x,y3 ,"c-")
ax3.set_ylabel("y3")
ax3.spines["right"].set_position(("axes", 1.2))
plt.show()
結果
参考
[Multiple Yaxis With Spines]
(https://matplotlib.org/3.1.0/gallery/ticks_and_spines/multiple_yaxis_with_spines.html)