matplotlibの基礎
matplotlibは、Pythonでグラフを描画するためのライブラリです。折れ線グラフ、散布図、棒グラフ、ヒストグラムなど、様々な種類のグラフを作成できます。主にmatplotlib.pyplotモジュールを通して利用します。
基本的な流れ:
matplotlib.pyplotをインポートします。一般的にpltというエイリアスでインポートします。
import matplotlib.pyplot as plt
描画するデータを用意します(リストやNumPy配列など)。
plt.plot(), plt.scatter(), plt.bar() などの描画関数を使ってグラフを作成します。
必要に応じて、タイトル、ラベル、凡例などを追加します。
plt.show() でグラフを表示します。
よく使うコマンド
以下は、matplotlibでよく使うコマンドの一部です。
描画関数
plt.plot(x, y, ...):
折れ線グラフ
plt.scatter(x, y, ...):
散布図
plt.bar(x, height, ...):
棒グラフ
plt.hist(x, ...):
ヒストグラム
plt.pie(x, ...):
円グラフ
plt.imshow(X, ...):
画像の表示
グラフの装飾:
plt.title(label):
グラフのタイトルを設定
plt.xlabel(label):
x軸のラベルを設定
plt.ylabel(label):
y軸のラベルを設定
plt.legend():
凡例を表示
plt.grid(True):
グリッド線を表示
plt.xlim(xmin, xmax):
x軸の表示範囲を設定
plt.ylim(ymin, ymax):
y軸の表示範囲を設定
plt.xticks(ticks, labels):
x軸の目盛りとラベルを設定
plt.yticks(ticks, labels):
y軸の目盛りとラベルを設定
グラフの表示と保存:
plt.show():
グラフを表示
plt.savefig(fname):
グラフをファイルに保存
スタイルの設定:
線の色、太さ、種類 (color='red', linewidth=2, linestyle='--' など)
マーカーの種類、サイズ、色 (marker='o', markersize=8, markerfacecolor='blue' など)
使用例
いくつかの簡単な使用例を見てみましょう。
例1: 折れ線グラフ
import matplotlib.pyplot as plt
import numpy as np
# データ作成
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)
# 描画
plt.plot(x, y1, label='sin(x)')
plt.plot(x, y2, label='cos(x)', linestyle='--')
# ラベルとタイトル
plt.xlabel('X軸')
plt.ylabel('Y軸')
plt.title('sin(x)とcos(x)')
# 凡例の表示
plt.legend()
# グリッドの表示
plt.grid(True)
# グラフの表示
plt.show()
このコードは、x軸の値を0から10までlinspaceで生成し、それに対応するsin(x)とcos(x)の値を計算します。そして、それぞれの曲線を異なるスタイルで折れ線グラフとして描画し、ラベル、タイトル、凡例、グリッドを追加しています。
例2: 散布図
import matplotlib.pyplot as plt
import numpy as np
# ランダムなデータの作成
np.random.seed(0)
x = np.random.rand(50)
y = np.random.rand(50)
colors = np.random.rand(50)
sizes = 100 * np.random.rand(50)
# 散布図の描画
plt.scatter(x, y, c=colors, s=sizes, alpha=0.7, cmap='viridis')
plt.colorbar(label='Color Intensity') # カラーバーの追加
# ラベルとタイトル
plt.xlabel('X')
plt.ylabel('Y')
plt.title('ランダムな散布図')
# グラフの表示
plt.show()
この例では、ランダムなxとyの座標、色、サイズを持つ散布図を作成しています。cmapでカラーマップを指定し、colorbar()で色の凡例を表示しています。
例3: 棒グラフ
import matplotlib.pyplot as plt
# データ
labels = ['A', 'B', 'C', 'D']
values = [20, 35, 30, 25]
# 棒グラフの描画
plt.bar(labels, values)
# ラベルとタイトル
plt.xlabel('カテゴリ')
plt.ylabel('値')
plt.title('棒グラフの例')
# グラフの表示
plt.show()
ここでは、カテゴリカルなデータに対する棒グラフを描画しています。
これらはmatplotlibの基本的な使用例です。matplotlibは非常に柔軟性が高く、より複雑なグラフやカスタマイズも可能です。
こちらで使用しています。
1891年 ヴィクトリア朝のシャーロックホームズの世界に3名の生成AIが突如現れる。
現代社会の不可思議なビジネス課題をこの3名の生成AIが謎に迫る
- ビジネスコンテンツ × ミステリー × 生成AIの世界観をお楽しみください。
- ROI探偵事務所の事件で使用した知識をこちらに掲載しています