Pythonでデータを視覚化するための主要なライブラリの一つにMatplotlib
があります。特に、matplotlib.pyplot
モジュールは、MATLABのような作業を可能にする一連の関数を提供しています。
基本的なプロットの作成
まずは、基本的なプロットの作成方法から見ていきましょう。以下のコードは、numpy
を用いて生成したデータをプロットする例です。
import matplotlib.pyplot as plt
import numpy as np
# データ生成
x = np.linspace(0, 10, 100)
y = x + np.random.randn(100)
# プロット
plt.plot(x, y, label="test")
# 凡例の表示
plt.legend()
# プロット表示(設定の反映)
plt.show()
このコードは、x
とy
のデータをプロットし、その結果を表示します。
プロットのスタイル設定
次に、プロットのスタイルを設定する方法を見てみましょう。plot
関数の第三引数には、プロットの色や線の種類を指定するフォーマット文字列をオプションで指定できます。以下のコードは、赤い円でデータをプロットする例です。
plt.plot([1, 2, 3, 4], [1, 4, 9, 16], 'ro')
plt.axis((0, 6, 0, 20))
plt.show()
複数のグラフを一つのページにプロット
最後に、一つのページ(Figure)に複数のグラフ(Axes)をプロットする方法を見てみましょう。以下のコードは、一つのFigureに三つのグラフをプロットする例です。
import matplotlib.pyplot as plt
import numpy as np
# データ生成
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)
# プロット領域(Figure, Axes)の初期化
fig = plt.figure(figsize=(12, 8))
ax1 = fig.add_subplot(131)
ax2 = fig.add_subplot(132)
ax3 = fig.add_subplot(133)
# 棒グラフの作成
ax1.bar([1,2,3],[3,4,5])
ax2.barh([0.5,1,2.5],[0,1,2])
ax3.scatter(y1, y2)
# 水平線、垂直線を入れる
ax3.axhline(0.45)
ax3.axvline(0.65)
plt.show()
以上、PythonとMatplotlibを用いた基本的なプロットの作成方法について説明しました。これらの基本を理解すれば、さまざまなデータビジュアライゼーションを行うことが可能になります。.