シンプルな Matplotlib の軸線

Beginner

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

はじめに

この実験では、Matplotlib を使って簡単な軸線を作成する方法を学びます。mpl_toolkits.axisartist.axislinesライブラリを使って、x 軸と y 軸のラベル付きで、右側に y2 軸のラベルを持つ軸線を作成します。また、上側と右側の軸を非表示にし、y = 0 のときに x 軸線を表示する方法も学びます。

VM のヒント

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

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

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

ライブラリのインポート

必要なライブラリをインポートして始めます。Matplotlib とmpl_toolkits.axisartist.axislinesライブラリを使用します。

import matplotlib.pyplot as plt
from mpl_toolkits.axisartist.axislines import AxesZero

グラフとサブプロットの作成

次に、グラフを作成し、AxesZero を使ってサブプロットを追加します。これにより、x 軸と y 軸のラベル付きの軸線が作成されますが、目盛りやグリッドはありません。

fig = plt.figure()
fig.subplots_adjust(right=0.85)
ax = fig.add_subplot(axes_class=AxesZero)

上側と右側の軸を非表示にする

ここでは、左側と下側の軸のみが必要なので、上側と右側の軸を非表示にします。

ax.axis["right"].set_visible(False)
ax.axis["top"].set_visible(False)

y = 0 のときに x 軸線を表示する

ここでは、y = 0 のときに x 軸線を表示します。これは、xzero 軸を表示可能にすることで行われます。

ax.axis["xzero"].set_visible(True)
ax.axis["xzero"].label.set_text("Axis Zero")

軸の範囲とラベルを設定する

ここでは、y 軸の範囲を (-2, 4) に設定し、x 軸と y 軸のラベルを設定します。

ax.set_ylim(-2, 4)
ax.set_xlabel("Label X")
ax.set_ylabel("Label Y")

Y2 軸を作成する

最後に、グラフの右側にオフセット (20, 0) で新しい y2 軸を作成し、それにラベルを付けます。

ax.axis["right2"] = ax.new_fixed_axis(loc="right", offset=(20, 0))
ax.axis["right2"].label.set_text("Label Y2")

まとめ

Matplotlib を使って簡単な軸線を作成する方法を学びました。まず必要なライブラリをインポートし、次に AxesZero を使ってグラフとサブプロットを作成しました。その後、上側と右側の軸を非表示にし、y = 0 のときに x 軸線を表示し、軸の範囲とラベルを設定し、最後にグラフの右側に新しい y2 軸を作成しました。