Python matplotlibによるデータ可視化の基礎から応用まで

基本的な線グラフの作成

matplotlibを使用したグラフ描画の基本的な例です。

import numpy as np
import matplotlib.pyplot as plt

values = np.linspace(0, 2*np.pi, 50)
plt.plot(values, np.sin(values), values, np.sin(2*values))
plt.show()

このコードを実行すると、複数の正弦波曲線が表示されます。

カスタマイズされたプロットスタイル

線の色やスタイルを指定して、より見やすいグラフを作成できます。

import numpy as np
import matplotlib.pyplot as plt

domain = np.linspace(0, 2*np.pi, 50)
plt.plot(domain, np.sin(domain), 'r-o', domain, np.cos(domain), 'g--')
plt.show()

この例では、赤い円記号付きの実線と緑の破線を使用しています。

利用可能なスタイルオプション

色指定:

  • 青色 - 'b'
  • 緑色 - 'g'
  • 赤色 - 'r'
  • シアン - 'c'
  • マゼンタ - 'm'
  • 黄色 - 'y'
  • 黒色 - 'k'
  • 白色 - 'w'

線種:

  • 実線 - '-'
  • 破線 - '--'
  • 点線 - ':'
  • 一点鎖線 - '-.'

マーカー形状:

  • 点 - '.'
  • ピクセル - ','
  • 円 - 'o'
  • 四角 - 's'
  • 三角 - '^'

複数サブプロットの作成

単一のウィンドウに複数のグラフを配置する方法です。

import numpy as np
import matplotlib.pyplot as plt

time_axis = np.linspace(0, 2*np.pi, 50)
plt.subplot(2, 1, 1)  # 行数、列数、現在の位置
plt.plot(time_axis, np.sin(time_axis), 'r')
plt.title('Sin Wave')

plt.subplot(2, 1, 2)
plt.plot(time_axis, np.cos(time_axis), 'g')
plt.title('Cos Wave')

plt.tight_layout()
plt.show()

散布図の描画

データポイントの分布を視覚化する場合に使用します。

import numpy as np
import matplotlib.pyplot as plt

x_data = np.linspace(0, 2*np.pi, 50)
y_data = np.sin(x_data)
plt.scatter(x_data, y_data)
plt.xlabel('X Values')
plt.ylabel('Y Values')
plt.title('Scatter Plot Example')
plt.show()

カラーマップ付き散布図

追加の情報を色で表現できる高度な散布図です。

import numpy as np
import matplotlib.pyplot as plt

points_x = np.random.rand(1000)
points_y = np.random.rand(1000)
sizes = np.random.rand(1000) * 50
colors = np.random.rand(1000)

plt.scatter(points_x, points_y, s=sizes, c=colors, alpha=0.6)
plt.colorbar(label='Color Scale')
plt.title('Colored Scatter Plot')
plt.show()

ヒストグラムの生成

データの分布を可視化するための統計グラフです。

import numpy as np
import matplotlib.pyplot as plt

sample_data = np.random.randn(1000)
plt.hist(sample_data, bins=50, edgecolor='black', alpha=0.7)
plt.xlabel('Value Range')
plt.ylabel('Frequency')
plt.title('Histogram Example')
plt.grid(True, alpha=0.3)
plt.show()

タグ: Python matplotlib data-visualization plotting graphs

6月24日 00:08 投稿