Pythonで図を描画するには、主に以下のようなライブラリを使用します。
それぞれの特徴と基本的な使い方、そしてどのような場面で使うと効果的かを解説していきます。
目次
Pythonで図を描くための代表的なライブラリ
ライブラリ名 | 特徴 |
---|---|
matplotlib | 最も基本的で汎用的なグラフ描画ライブラリ。静的な図に強く、あらゆる図に対応。 |
seaborn | matplotlib の上位ラッパー。統計グラフを簡単・綺麗に描ける。 |
plotly | インタラクティブなグラフが得意。Web向け可視化に向いている。 |
networkx | ネットワーク図(グラフ理論のノードとエッジ)に特化。 |
pillow | 画像処理ライブラリだが、基本的な図形(円・四角・線)も描ける。 |
turtle | 教育向け。図形を描くことを学ぶための視覚的ツール。 |
matplotlib
を使った基本的な図の描画
インストール
pip install matplotlib
基本的な線グラフの描画
import matplotlib.pyplot as plt
x = [0, 1, 2, 3]
y = [0, 1, 4, 9]
plt.plot(x, y) # 折れ線グラフ
plt.title("y = x^2") # タイトル
plt.xlabel("x") # x軸ラベル
plt.ylabel("y") # y軸ラベル
plt.grid(True) # グリッドを表示
plt.show() # 図を表示
複数の系列を1つのグラフに
plt.plot(x, y, label="y = x^2")
plt.plot(x, [i**3 for i in x], label="y = x^3")
plt.legend() # 凡例を表示
plt.show()
seaborn
で美しい統計グラフを描く
インストール
pip install seaborn
基本的な使い方
import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd
# ダミーデータ
data = pd.DataFrame({
"カテゴリ": ["A", "B", "C", "D"],
"値": [10, 23, 15, 7]
})
sns.barplot(x="カテゴリ", y="値", data=data)
plt.title("カテゴリ別の値")
plt.show()
plotly
でインタラクティブな図を作成
インストール
pip install plotly
インタラクティブな折れ線グラフ
import plotly.graph_objects as go
fig = go.Figure()
fig.add_trace(go.Scatter(x=[0, 1, 2, 3], y=[0, 1, 4, 9], mode='lines+markers'))
fig.update_layout(title="動的な折れ線グラフ", xaxis_title="x", yaxis_title="y")
fig.show()
ブラウザで動的に操作できるグラフが表示されます。
ネットワーク図の例(networkx
)
import networkx as nx
import matplotlib.pyplot as plt
G = nx.Graph()
G.add_edges_from([("A", "B"), ("A", "C"), ("B", "D")])
nx.draw(G, with_labels=True, node_color='lightblue', edge_color='gray')
plt.show()
教育用図形描画(turtle
)
import turtle
t = turtle.Turtle()
for _ in range(4):
t.forward(100)
t.left(90)
turtle.done()
四角形が描かれます。
Pythonに標準搭載されており、小学生のプログラミング教育でも人気です。
まとめ

用途 | おすすめライブラリ |
---|---|
基本的なグラフ・図 | matplotlib |
綺麗な統計グラフ | seaborn |
Web用インタラクティブグラフ | plotly |
ネットワーク(グラフ理論) | networkx |
教育・ビジュアルな図形描画 | turtle |
実務での活用アイデア
- データレポート用の静的グラフ →
matplotlib
+seaborn
(Jupyter Notebookでの活用) - ダッシュボードやWebレポート →
plotly
やdash
との連携 - ソーシャルグラフや人間関係図 →
networkx
を活用 - マーケティング資料の図形やUI設計図 → 画像ファイルとして書き出してIllustrator等に取り込み
以上、Pythonで図を描画する方法についてでした。
最後までお読みいただき、ありがとうございました。