PGF プリアンブル Sgskip

Beginner

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

はじめに

この実験では、Python の Matplotlib ライブラリを使ってグラフやプロットを作成する方法を学びます。Matplotlib は、単純な折れ線グラフから複雑なヒートマップまで、幅広いビジュアライゼーションを作成できる強力なライブラリです。この実験が終わるとき、Matplotlib を使って基本的なビジュアライゼーションを作成する方法を十分に理解しているでしょう。

VM のヒント

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

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

学習中に問題に直面した場合は、Labby にお問い合わせください。セッション後にフィードバックを提供してください。そうすれば、迅速に問題を解決します。

Matplotlib をインストールする

Matplotlib を使い始める前に、インストールする必要があります。pip を使って Matplotlib をインストールできます。pip は Python 用のパッケージマネージャです。ターミナルまたはコマンドプロンプトを開き、次のコマンドを入力します。

pip install matplotlib

Matplotlib をインポートする

Matplotlib をインストールしたら、Python コードでインポートできます。Matplotlib をインポートするには、Python スクリプトの先頭に次の行を追加します。

import matplotlib.pyplot as plt

単純な折れ線グラフを作成する

まずは簡単な折れ線グラフを作成してみましょう。この例では、区間[0, 2π]における正弦関数と余弦関数をプロットします。

import numpy as np

x = np.linspace(0, 2*np.pi, 100)
y1 = np.sin(x)
y2 = np.cos(x)

plt.plot(x, y1, label='sin')
plt.plot(x, y2, label='cos')
plt.xlabel('x')
plt.ylabel('y')
plt.title('Sine and Cosine Functions')
plt.legend()
plt.show()

グラフをカスタマイズする

色、線のスタイル、マーカーを変更することで、グラフをカスタマイズできます。以下は例です。

plt.plot(x, y1, 'r--', label='sin')
plt.plot(x, y2, 'g:', label='cos')
plt.xlabel('x')
plt.ylabel('y')
plt.title('Sine and Cosine Functions')
plt.legend()
plt.show()

散布図を作成する

折れ線グラフに加えて、Matplotlib は散布図も作成できます。以下は例です。

x = np.random.rand(50)
y = np.random.rand(50)
colors = np.random.rand(50)
sizes = 500 * np.random.rand(50)

plt.scatter(x, y, c=colors, s=sizes)
plt.xlabel('x')
plt.ylabel('y')
plt.title('Scatter Plot')
plt.show()

棒グラフを作成する

Matplotlib は棒グラフも作成できます。以下は例です。

x = ['A', 'B', 'C', 'D', 'E']
y = [3, 7, 1, 9, 4]

plt.bar(x, y)
plt.xlabel('Category')
plt.ylabel('Value')
plt.title('Bar Plot')
plt.show()

まとめ

この実験では、Matplotlib を使って折れ線グラフ、散布図、棒グラフなどの基本的なビジュアライゼーションを作成する方法を学びました。また、色、線のスタイル、マーカーを変更することでグラフをカスタマイズする方法も学びました。Matplotlib は、幅広いビジュアライゼーションを作成できる強力なライブラリであり、練習を重ねることでさらに複雑なビジュアライゼーションを作成できます。