はじめに
ここでは、2つのスケールの異なるデータを同時に表示するために、左と右の軸をそれぞれ設定し、強引にまとめて表示した例について解説する。
コード
解説
モジュールのインポート
データの生成
data1はマイナスの指数関数であるため、tの増加に伴い大きく低下する。
dara2はcos波なので、データの範囲は-1〜1となり、data1とdata2の差はtの増加に伴って大きくなる。
これを同じy軸上に表示すると下のようになる。
軸のスケールが大きいため、cos波であるにもかかわらず、直線となってしまう。
図の表示
data1は通常のプロットと同様に表示する。
color の ‘tab:orange’はTableau Colorsという種類の色の名前のことである。
plotとラベルと目盛りの色を同一にすることで、プロットしたデータが左の第1軸のデータであることを示せる。
第2軸の設定
第2軸をax2としてax1の第2軸にするには、ax2 = ax1.twinx() とする。
ax2はaxesオブジェクトなので、ax1と同じように軸ラベル、目盛りなどを設定できる。
ここでは、第2軸に関連する色を’tab:green’で表示している。
x軸の設定
x軸に関連する色は’tab:purple’とした。
コードをダウンロード(.pyファイル) コードをダウンロード(.pyファイル)参考
matplotlib.axes.Axes.twinx — Matplotlib 3.1.0 documentation
Specifying Colors — Matplotlib 2.0.2 documentation
コメント