Matplotlib の目盛りラベルの方向

Beginner

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

はじめに

この実験では、Matplotlib のプロットで目盛りラベルの方向を設定する方法を学びます。x 軸と y 軸の両方の目盛りラベルの方向をカスタマイズする方法を学びます。

VM のヒント

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

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

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

必要なモジュールをインポートする

まず、グラフを作成するために必要なモジュールをインポートする必要があります。Matplotlib と mpl_toolkits からの AxisArtist を使用します。

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

軸を設定する関数を作成する

必要な目盛りラベルで軸を設定する関数を作成します。

def setup_axes(fig, pos):
    ax = fig.add_subplot(pos, axes_class=axislines.Axes)
    ax.set_yticks([0.2, 0.8])
    ax.set_xticks([0.2, 0.8])
    return ax

目盛りラベルの方向をカスタマイズする

目盛りラベルの方向をカスタマイズするさまざまな方法を示すために、3 つのサブプロットを作成します。

目盛りラベルを外向きにする

このステップでは、目盛りラベルが外向きになるサブプロットを作成します。

fig = plt.figure(figsize=(6, 3))
fig.subplots_adjust(bottom=0.2)

ax = setup_axes(fig, 131)
for axis in ax.axis.values():
    axis.major_ticks.set_tick_out(True)

カスタマイズされた目盛りラベルの方向

このステップでは、カスタマイズされた目盛りラベルの方向を持つサブプロットを作成します。

ax = setup_axes(fig, 132)
ax.axis["left"].set_axis_direction("right")
ax.axis["bottom"].set_axis_direction("top")
ax.axis["right"].set_axis_direction("left")
ax.axis["top"].set_axis_direction("bottom")

片側に外向きの目盛りラベル

このステップでは、片側に目盛りラベルが外向きになるサブプロットを作成します。

ax = setup_axes(fig, 133)
ax.axis["left"].set_axis_direction("right")
ax.axis[:].major_ticks.set_tick_out(True)

ax.axis["left"].label.set_text("Long Label Left")
ax.axis["bottom"].label.set_text("Label Bottom")
ax.axis["right"].label.set_text("Long Label Right")
ax.axis["right"].label.set_visible(True)
ax.axis["left"].label.set_pad(0)
ax.axis["bottom"].label.set_pad(10)

plt.show()

まとめ

この実験では、AxisArtist を使って Matplotlib のプロットで目盛りラベルの方向をカスタマイズする方法を学びました。set_axis_direction()major_ticks.set_tick_out() メソッドを使うことで、異なる目盛りラベルの方向を持つサブプロットを作成できます。