本稿は Python の Matplotlib に関する記事です。
子ページから Matplotlib に関する項目を選択してください。
本ページの子ページ
Matplotlib とは?
Matplotlib は、Python でグラフ描画を行うためのデファクトスタンダードな外部ライブラリです。線グラフ・棒グラフ・円グラフ・散布図・ヒートマップ・3Dプロットなど、データ分析・科学計算で必要なほぼすべての可視化に対応しており、NumPy や pandas、scikit-learn と組み合わせて広く使われています。
主な特徴
- 豊富なグラフ種 — 線・棒・円・ヒストグラム・散布図・ヒートマップ・3D・等高線
- 細かいカスタマイズ — タイトル・軸・凡例・色・線種・マーカー・フォント
- NumPy / pandas との親和性 — pandas の
DataFrame.plot()は内部で Matplotlib を使う - 複数バックエンド対応 — GUI 表示・PNG / PDF / SVG 出力
- Jupyter / IPython 連携 —
%matplotlib inlineでノートブック内表示 - 2 つの API —
pyplot(MATLAB ライク) とオブジェクト指向 (推奨)
インストールと最小例
|
pip install matplotlib |
|
import matplotlib.pyplot as plt |
pyplot API とオブジェクト指向 API
| API | 特徴 | 使いどころ |
|---|---|---|
matplotlib.pyplot (関数形式) | MATLAB ライク。plt.plot() / plt.title() を順に呼ぶ | サクッと書く |
オブジェクト指向 (fig, ax = plt.subplots()) | ax.plot() / ax.set_title() で明示的に Axes を操作 | サブプロット・複数図・本格的可視化 (推奨) |
|
fig, ax = plt.subplots(figsize=(8, 4)) |
代表的なグラフ関数
| 関数 | 用途 |
|---|---|
plot | 線グラフ |
bar / barh | 棒グラフ (縦/横) |
pie | 円グラフ |
scatter | 散布図 |
hist | ヒストグラム |
boxplot | 箱ひげ図 |
imshow | 画像・ヒートマップ |
contour / contourf | 等高線 |
quiver | ベクトル場 |
errorbar | 誤差棒付き |
stackplot | 積み上げグラフ |
fill_between | 区間塗りつぶし |
subplots | 複数グラフ配置 |
装飾の主なポイント
- タイトル・軸ラベル:
set_title/set_xlabel/set_ylabel - 凡例:
label=...+ax.legend() - 色:
color="red"/"tab:blue"/ HEX"#1f77b4" - マーカー:
marker="o"/"x"/"s"等 - 線種:
linestyle="--"/":" - グリッド:
ax.grid(True) - 日本語フォント:
matplotlib自体は日本語を表示できるが、フォント設定が必要 (japanize-matplotlib等) - 図サイズ・DPI:
figsize=(幅, 高)インチ、dpi=150
関連ライブラリ
| ライブラリ | 位置づけ |
|---|---|
| NumPy | 数値配列の土台 (NumPy) |
| pandas | 表データ。DataFrame.plot() で Matplotlib に流す |
| seaborn | Matplotlib をラップした統計向け高レベル API |
| plotly / bokeh | インタラクティブな Web 表示 |
| japanize-matplotlib | 日本語フォント設定を 1 行で |
注意点
- サーバ環境では GUI バックエンドが無いと
plt.show()がエラー。matplotlib.use("Agg")+savefigを使う - 日本語の豆腐化はフォント未指定。
plt.rcParams["font.family"] = "Meiryo"等で対処 - 多数のプロットを作る場合は
plt.close(fig)でメモリ解放 - Jupyter で表示が出ない場合は
%matplotlib inlineや%matplotlib widget pyplotの状態保持型 API は関数間で図が引き継がれるため、複雑な処理では OO API を推奨
関連
- 親カテゴリ: 外部ライブラリ (Python)
- 関連: NumPy / Python
- 子ページ: 線グラフ / 棒グラフ / 円グラフ / 散布図 / タイトルと軸のラベル / グリッド線 / 色
同階層のページ
- NumPy
- Matplotlib
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript で base URL を取得する方法|window.location.origin
- 4 YouTube Data API v3 エラー一覧|403・400・404 の原因と対処
- 5 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 6 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 7 Spring Frameworkのアノテーション一覧
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- Git pushした変更の取消し|revert・履歴変更と保護の注意点 2026-10-15 23:49:01
- Gitでローカルを戻す前に|reset・restoreの違いと退避範囲 2026-10-15 23:49:01
- Git rebaseの使い方|対象範囲・競合解決・pushの判断 2026-10-15 22:50:59
- Git pullの使い方|取込み先・ff-only・競合とstashの注意点 2026-10-15 22:50:59
- Git pushの使い方|送信先・タグ・force-with-leaseの条件 2026-10-15 22:12:47
- Git remoteの設定・確認・削除|SSH URLとfetch/pushの違い 2026-10-15 22:12:47
- Gitリモートリポジトリの作成|初回push・既存履歴・mirrorの注意 2026-10-15 15:48:16
- Gitのuser.name・user.email設定|local/global・確認と過去履歴の注意 2026-10-15 15:30:07
- LinuxにGitをインストール|配布元・初期設定・TLSと認証の確認 2026-10-15 15:30:06
- Git導入と初回push|Linuxサーバー・Windows/macOS・SSH設定 2026-10-15 14:51:54
- Db2のCREATE INDEX|索引定義・INCLUDEと実行計画の確認 2026-10-15 14:10:22
- Db2の自動採番|IDENTITY・ID取得とRESTARTの注意点 2026-10-15 14:10:22
- 【DB2】特定スキーマの全テーブルの全カラム情報を取得する方法 2026-10-15 13:53:15
- Db2のシーケンスとIDENTITYの違い|採番とカタログの確認SQL 2026-10-15 13:53:15
- Db2で複数カラムをUPDATEする方法|SET・WHEREと更新前の値 2026-10-15 13:53:15