Matplotlib を使ったグラフ作成

PythonPythonBeginner
今すぐ練習

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

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

はじめに

この実験では、PythonのMatplotlibを使ってグラフを作成する方法を学びます。Matplotlibは、Pythonプログラミング言語用のグラフ作成ライブラリです。この実験では、グラフの色、線の太さなどのプロパティをカスタマイズする方法を学びます。

VMのヒント

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

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

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

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

まず、必要なモジュールをインポートする必要があります。この場合、matplotlib.pyplotnumpy をインポートする必要があります。

import matplotlib.pyplot as plt
import numpy as np

プロパティサイクルを定義して色を取得する

次に、プロパティサイクルを定義して、そこから色を取得する必要があります。

prop_cycle = plt.rcParams['axes.prop_cycle']
colors = prop_cycle.by_key()['color']

線の太さを定義する

次に、グラフの線の太さを定義します。

lwbase = plt.rcParams['lines.linewidth']
thin = lwbase / 2
thick = lwbase * 3

サブプロットを作成する

2x2のサブプロットのグリッドを作成します。

fig, axs = plt.subplots(nrows=2, ncols=2, sharex=True, sharey=True)

水平線と垂直線を追加する

次に、プロパティサイクルからの色を使って、各サブプロットに水平線と垂直線を追加します。

for icol in range(2):
    if icol == 0:
        lwx, lwy = thin, lwbase
    else:
        lwx, lwy = lwbase, thick
    for irow in range(2):
        for i, color in enumerate(colors):
            axs[irow, icol].axhline(i, color=color, lw=lwx)
            axs[irow, icol].axvline(i, color=color, lw=lwy)

サブプロットをカスタマイズする

下部のサブプロットの背景色を黒に設定し、x軸の目盛りを設定し、各サブプロットにタイトルを追加することで、サブプロットをカスタマイズします。

axs[1, icol].set_facecolor('k')
axs[1, icol].xaxis.set_ticks(np.arange(0, 10, 2))
axs[0, icol].set_title(f'line widths (pts): {lwx:g}, {lwy:g}',
                       fontsize='medium')

y軸の目盛りをカスタマイズする

一番左のサブプロットのy軸の目盛りをカスタマイズします。

for irow in range(2):
    axs[irow, 0].yaxis.set_ticks(np.arange(0, 10, 2))

グラフにタイトルを追加する

グラフ全体にタイトルを追加します。

fig.suptitle('Colors in the default prop_cycle', fontsize='large')

グラフを表示する

最後に、グラフを表示します。

plt.show()

まとめ

この実験では、PythonのMatplotlibを使ってグラフを作成する方法を学びました。グラフの色や線の太さなどのプロパティをカスタマイズしました。また、サブプロットを作成してその外観をカスタマイズする方法も学びました。