Matplotlib で寄生虫軸を使ったマルチプロットの作成

PythonPythonBeginner
オンラインで実践に進む

This tutorial is from open-source community. Access the source code

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

この実験では、Python の Matplotlib を使って寄生虫軸を使った複数のデータセットのプロットを作成する方法を学びます。複数の y 軸を持つプロットを作成するために、mpl_toolkits.axes_grid1.parasite_axes.host_subplotmpl_toolkits.axisartist.axislines.Axesを使用します。

VM のヒント

VM の起動が完了したら、左上隅をクリックしてノートブックタブに切り替え、Jupyter Notebook を使って練習しましょう。

時々、Jupyter Notebook が読み込み終わるまで数秒待つ必要がある場合があります。Jupyter Notebook の制限により、操作の検証を自動化することはできません。

学習中に問題に遭遇した場合は、Labby にお問い合わせください。セッション後にフィードバックを提供してください。すぐに問題を解決いたします。

ライブラリのインポート

まず、必要なライブラリをインポートする必要があります。グラフ作成にはmatplotlib.pyplotを、寄生虫軸を作成するためにmpl_toolkitsを使用します。

import matplotlib.pyplot as plt
from mpl_toolkits import axisartist
from mpl_toolkits.axes_grid1 import host_subplot

ホスト軸と寄生虫軸の作成

host_subplot()twinx()関数を使って、ホスト軸と 2 つの寄生虫軸を作成します。host_subplot()関数はホスト軸を作成し、twinx()関数はホスト軸と同じ x 軸を共有する寄生虫軸を作成します。

host = host_subplot(111, axes_class=axisartist.Axes)
plt.subplots_adjust(right=0.75)

par1 = host.twinx()
par2 = host.twinx()

寄生虫軸の調整

寄生虫軸の位置を調整する必要があります。new_fixed_axis()関数を使って、プロットの右側に新しい y 軸を作成します。toggle()関数を使って、右側の y 軸のすべての目盛りとラベルを表示するようにします。

par2.axis["right"] = par2.new_fixed_axis(loc="right", offset=(60, 0))

par1.axis["right"].toggle(all=True)
par2.axis["right"].toggle(all=True)

データのプロット

同じプロットに 3 つのデータセット:密度、温度、および速度をプロットします。データをプロットするためにplot()関数を使用します。

p1, = host.plot([0, 1, 2], [0, 1, 2], label="Density")
p2, = par1.plot([0, 1, 2], [0, 3, 2], label="Temperature")
p3, = par2.plot([0, 1, 2], [50, 30, 15], label="Velocity")

軸の範囲とラベルの設定

set()関数を使用して、各軸の x 軸と y 軸の範囲とラベルを設定します。

host.set(xlim=(0, 2), ylim=(0, 2), xlabel="Distance", ylabel="Density")
par1.set(ylim=(0, 4), ylabel="Temperature")
par2.set(ylim=(1, 65), ylabel="Velocity")

凡例と色の追加

legend()label.set_color()関数を使用して、プロットに凡例を追加し、各軸のラベルを対応するデータセットの色に合わせて色付けします。

host.legend()

host.axis["left"].label.set_color(p1.get_color())
par1.axis["right"].label.set_color(p2.get_color())
par2.axis["right"].label.set_color(p3.get_color())

プロットの表示

最後に、show()関数を使用してプロットを表示します。

plt.show()

まとめ

この実験では、Python の Matplotlib を使って寄生虫軸を使って複数のデータセットのプロットを作成する方法を学びました。mpl_toolkits.axes_grid1.parasite_axes.host_subplotmpl_toolkits.axisartist.axislines.Axesを使って、複数の y 軸付きのプロットを作成しました。また、寄生虫軸の位置を調整し、データをプロットし、軸の範囲とラベルを設定し、凡例と色をプロットに追加し、プロットを表示する方法も学びました。