PythonのデータビジュアライゼーションライブラリであるMatplotlibを使用して、第二軸を持つグラフを描画する方法について説明します。このようなグラフは、スケールが大きく異なる2つのデータセットを比較する際に特に有用です。
まず、必要なライブラリをインポートします。
import numpy as np
import matplotlib.pyplot as plt
次に、描画するデータを準備します。ここでは、サンプルとして、np.sin
と10*np.cos
を使用します。
t = np.linspace(0, 10, 1000)
y1 = np.sin(t)
y2 = 10*np.cos(t)
そして、グラフを描画する領域を作成します。
fig = plt.figure()
ax1 = fig.add_subplot(1, 1, 1)
ax1.twinx()
を使用して、第二軸を作成します。
ax2 = ax1.twinx()
最後に、それぞれの軸にデータをプロットします。
ax1.plot(t, y1, color="blue", label="sin")
ax2.plot(t, y2, color="red", label="10cos")
凡例を表示するために、各軸の凡例のハンドラとラベルを取得し、結合します。
h1, l1 = ax1.get_legend_handles_labels()
h2, l2 = ax2.get_legend_handles_labels()
ax1.legend(h1+h2, l1+l2, loc='upper right')
最後に、plt.show()
を使用してグラフを表示します。
plt.show()
以上がPythonで第二軸を持つグラフを描画する方法です。この方法を使用すると、スケールが大きく異なる2つのデータセットを同じグラフ上で効果的に比較することができます。.