はじめに
Matplotlib は、2 次元および 3 次元のプロットを作成するためのさまざまなツールを提供するデータ可視化ライブラリです。NumPy ライブラリの上に構築されており、主な目的はデータを簡単かつ効果的に可視化することです。このチュートリアルでは、XKCD ウェブコミックの xkcd スタイルを使用して 2 種類の異なるプロットを作成する方法を学びます。
VM のヒント
VM の起動が完了したら、左上隅をクリックしてノートブックタブに切り替え、Jupyter Notebook を使って練習しましょう。
Jupyter Notebook の読み込みには数秒かかる場合があります。Jupyter Notebook の制限により、操作の検証を自動化することはできません。
学習中に問題が発生した場合は、Labby にお問い合わせください。セッション後にフィードバックを提供してください。すぐに問題を解決いたします。
ライブラリのインポート
最初のステップは、必要なライブラリをインポートすることです。私たちはmatplotlib.pyplotとnumpyライブラリを使用します。
import matplotlib.pyplot as plt
import numpy as np
XKCD スタイルのプロットの作成
このステップでは、時間と全体的な健康の関係を示す XKCD スタイルのプロットを作成します。このプロットは、XKCD の「コンロの所有」コミックをベースにしています。
with plt.xkcd():
fig = plt.figure()
ax = fig.add_axes((0.1, 0.2, 0.8, 0.7))
ax.spines[['top', 'right']].set_visible(False)
ax.set_xticks([])
ax.set_yticks([])
ax.set_ylim([-30, 10])
data = np.ones(100)
data[70:] -= np.arange(30)
ax.annotate(
'THE DAY I REALIZED\nI COULD COOK BACON\nWHENEVER I WANTED',
xy=(70, 1), arrowprops=dict(arrowstyle='->'), xytext=(15, -10))
ax.plot(data)
ax.set_xlabel('time')
ax.set_ylabel('my overall health')
fig.text(
0.5, 0.05,
'"Stove Ownership" from xkcd by Randall Munroe',
ha='center')
plt.show()
XKCD スタイルの棒グラフの作成
このステップでは、XKCD スタイルの棒グラフを作成します。このグラフは、XKCD の「これまでのデータ」コミックをベースにしています。
with plt.xkcd():
fig = plt.figure()
ax = fig.add_axes((0.1, 0.2, 0.8, 0.7))
ax.bar([0, 1], [0, 100], 0.25)
ax.spines[['top', 'right']].set_visible(False)
ax.xaxis.set_ticks_position('bottom')
ax.set_xticks([0, 1])
ax.set_xticklabels(['CONFIRMED BY\nEXPERIMENT', 'REFUTED BY\nEXPERIMENT'])
ax.set_xlim([-0.5, 1.5])
ax.set_yticks([])
ax.set_ylim([0, 110])
ax.set_title("CLAIMS OF SUPERNATURAL POWERS")
fig.text(
0.5, 0.05,
'"The Data So Far" from xkcd by Randall Munroe',
ha='center')
plt.show()
まとめ
このチュートリアルでは、XKCD ウェブコミックの xkcd スタイルを使って 2 種類の異なるプロットを作成する方法を学びました。まず、時間と全体的な健康の関係を示す xkcd スタイルのプロットを作成しました。次に、XKCD の「これまでのデータ」コミックをベースにした XKCD スタイルの棒グラフを作成しました。xkcd スタイルを使うことで、面白く魅力的なビジュアライゼーションを作成でき、きっと視聴者の注目を集めることができます。