Matplotlib を使った目盛りラベルの書式設定

PythonPythonBeginner
今すぐ練習

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

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

はじめに

このチュートリアルの実験では、PythonのMatplotlibライブラリを使って目盛りラベルをフォーマットする方法を学びます。デフォルトの目盛りフォーマッタと、~.axes.Axes.ticklabel_formatを使った様々な設定について説明します。

VMのヒント

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

Jupyter Notebookの読み込みには数秒かかる場合があります。Jupyter Notebookの制限により、操作の検証は自動化できません。

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

必要なライブラリをインポートする

PythonのMatplotlibライブラリを使うには、Python環境にインポートする必要があります。また、例としてのグラフにデータを生成するためにNumPyライブラリも使います。

import matplotlib.pyplot as plt
import numpy as np

例としてのグラフ用のデータを生成する

~.axes.Axes.ticklabel_formatを使ったさまざまな設定を示すために、3つのグラフ用のデータを生成します。

x = np.arange(0, 1,.01)

## Plot 1
plot1_x = x * 1e5 + 1e10
plot1_y = x * 1e-10 + 1e-5

## Plot 2
plot2_x = x * 1e5
plot2_y = x * 1e-4

## Plot 3
plot3_x = -x * 1e5 - 1e10
plot3_y = -x * 1e-5 - 1e-10

例としてのグラフ用のサブプロットを作成する

例としてのグラフを表示するために、3×3のサブプロットのグリッドを作成します。

fig, axs = plt.subplots(
    3, 3, figsize=(9, 9), layout="constrained", gridspec_kw={"hspace": 0.1})

サブプロットにデータをプロットする

手順3で作成したサブプロットに、生成したデータをプロットします。

for col in axs.T:
    col[0].plot(plot1_x, plot1_y)
    col[1].plot(plot2_x, plot2_y)
    col[2].plot(plot3_x, plot3_y)

目盛りラベルの書式設定を構成する

サブプロットの目盛りラベルの書式設定を構成します。最初のサブプロットはデフォルト設定を使用し、2番目のサブプロットは数学的な式の見栄えの良い書式設定を使用し、3番目のサブプロットはオフセット表記を使用しません。

## Subplot 1 (default settings)
axs[0, 0].set_title("default settings")

## Subplot 2 (useMathText=True)
for ax in axs[:, 1]:
    ax.ticklabel_format(useMathText=True)
axs[0, 1].set_title("useMathText=True")

## Subplot 3 (useOffset=False)
for ax in axs[:, 2]:
    ax.ticklabel_format(useOffset=False)
axs[0, 2].set_title("useOffset=False")

例としてのグラフを表示する

構成済みの目盛りラベルの書式設定付きで、例としてのグラフを表示します。

plt.rcParams.update({"axes.titleweight": "bold", "axes.titley": 1.1})
plt.show()

まとめ

このチュートリアルの実験では、PythonのMatplotlibライブラリを使って目盛りラベルを書式設定する方法を学びました。3つの例としてのグラフ用のデータを生成し、各グラフの目盛りラベルの書式設定を構成しました。異なる目盛りラベルの書式設定の構成を視覚化するために、例としてのグラフを表示しました。