Pythonを使ったグラフ描画は、データの可視化や分析に欠かせないスキルです。本記事では、基本的な折れ線グラフから高度な3Dプロット、アニメーションまで、グラフ描画のテクニックを解説します。
折れ線グラフの作成
折れ線グラフはデータの傾向を視覚化するのに最適です。
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]
plt.plot(x, y, marker='o', linestyle='-', color='b')
plt.title('Line Graph Example')
plt.xlabel('X-axis')
plt.ylabel('Y-axis')
plt.show()
ポイント: marker
やlinestyle
を指定することで、グラフをカスタマイズできます。
棒グラフの作成
カテゴリごとの値を比較する際に棒グラフは便利です。
categories = ['A', 'B', 'C', 'D']
values = [5, 7, 3, 8]
plt.bar(categories, values, color='skyblue')
plt.title('Bar Chart Example')
plt.xlabel('Categories')
plt.ylabel('Values')
plt.show()
ポイント: plt.barh
で横向きの棒グラフも作成できます。
散布図の作成
散布図は、データの分布や関係性を視覚化します。
import numpy as np
x = np.random.rand(50)
y = np.random.rand(50)
plt.scatter(x, y, c='r', alpha=0.5)
plt.title('Scatter Plot Example')
plt.xlabel('X-axis')
plt.ylabel('Y-axis')
plt.show()
ポイント: alpha
を指定すると、透明度を調整可能です。
ヒストグラムの描画
データの分布を確認する際にヒストグラムは有用です。
data = np.random.randn(1000)
plt.hist(data, bins=30, color='purple', edgecolor='black')
plt.title('Histogram Example')
plt.xlabel('Value')
plt.ylabel('Frequency')
plt.show()
ポイント: bins
で階級の数を調整できます。
複数グラフの描画
複数のグラフを一つの図に描画できます。
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)')
plt.title('Multiple Line Graphs')
plt.xlabel('X-axis')
plt.ylabel('Values')
plt.legend()
plt.show()
ポイント: plt.legend()
で凡例を追加しましょう。
グラフタイトルと軸ラベルの設定
タイトルや軸ラベルは、グラフの内容を明確にするために重要です。
x = [1, 2, 3, 4]
y = [10, 20, 15, 25]
plt.plot(x, y)
plt.title('Sample Graph', fontsize=16)
plt.xlabel('X-axis Label', fontsize=12)
plt.ylabel('Y-axis Label', fontsize=12)
plt.show()
ポイント: フォントサイズやスタイルをカスタマイズできます。
グラフの保存
描画したグラフを画像ファイルとして保存します。
plt.plot(x, y)
plt.title('Graph to Save')
plt.savefig('graph.png', dpi=300, bbox_inches='tight')
plt.show()
ポイント: dpi
で解像度を指定、bbox_inches='tight'
で余白を調整します。
カラーマップの変更
グラフの色をカスタマイズして見やすくします。
z = np.random.rand(50)
plt.scatter(x, y, c=z, cmap='viridis')
plt.colorbar()
plt.title('Colormap Example')
plt.show()
ポイント: cmap
を変更して異なるカラースキームを試せます。
3Dプロットの作成
mpl_toolkits.mplot3d
を使って3Dグラフを描画します。
from mpl_toolkits.mplot3d import Axes3D
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
x = np.random.rand(100)
y = np.random.rand(100)
z = np.random.rand(100)
ax.scatter(x, y, z)
ax.set_title('3D Scatter Plot')
plt.show()
ポイント: 3Dプロットでデータの立体的な関係を視覚化できます。
グラフのアニメーション作成
動的なデータを可視化する際にアニメーションが便利です。
from matplotlib.animation import FuncAnimation
fig, ax = plt.subplots()
x, y = [], []
line, = ax.plot([], [], 'r-')
def init():
ax.set_xlim(0, 10)
ax.set_ylim(0, 10)
return line,
def update(frame):
x.append(frame)
y.append(frame**0.5)
line.set_data(x, y)
return line,
ani = FuncAnimation(fig, update, frames=range(10), init_func=init, blit=True)
plt.show()
ポイント: FuncAnimation
でアニメーションを作成します。
まとめ
グラフ描画はデータの視覚化において強力なツールです。本記事では、基本的な描画から高度なカスタマイズやアニメーションまで幅広く解説しました。Pythonのグラフ描画機能を活用して、データ分析を次のレベルへ進めましょう!
コメント