はじめに
この実験では、Python の Matplotlib を使ってグラフを作成する方法を学びます。Matplotlib は、Python プログラミング言語用のグラフ作成ライブラリです。この実験では、グラフの色、線の太さなどのプロパティをカスタマイズする方法を学びます。
VM のヒント
VM の起動が完了したら、左上隅をクリックしてノートブックタブに切り替え、Jupyter Notebook を使って練習しましょう。
時々、Jupyter Notebook が読み込み終わるまで数秒待つ必要がある場合があります。Jupyter Notebook の制限により、操作の検証は自動化できません。
学習中に問題がある場合は、Labby にお問い合わせください。セッション後にフィードバックを提供してください。すぐに問題を解決いたします。
必要なモジュールをインポートする
まず、必要なモジュールをインポートする必要があります。この場合、matplotlib.pyplot と numpy をインポートする必要があります。
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 を使ってグラフを作成する方法を学びました。グラフの色や線の太さなどのプロパティをカスタマイズしました。また、サブプロットを作成してその外観をカスタマイズする方法も学びました。