XKCD スタイルでの Matplotlib の可視化

PythonPythonBeginner
今すぐ練習

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

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

はじめに

Matplotlibは、2次元および3次元のプロットを作成するためのさまざまなツールを提供するデータ可視化ライブラリです。NumPyライブラリの上に構築されており、主な目的はデータを簡単かつ効果的に可視化することです。このチュートリアルでは、XKCDウェブコミックのxkcdスタイルを使用して2種類の異なるプロットを作成する方法を学びます。

VMのヒント

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

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

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

ライブラリのインポート

最初のステップは、必要なライブラリをインポートすることです。私たちはmatplotlib.pyplotnumpyライブラリを使用します。

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スタイルを使うことで、面白く魅力的なビジュアライゼーションを作成でき、きっと視聴者の注目を集めることができます。