Matplotlib リファレンスドキュメント

Matplotlib は Python で最も広く使用されているデータ可視化ライブラリであり、静的、動的、およびインタラクティブなグラフを作成できます。

このドキュメントは、Matplotlib のすべての公開インターフェースの関数とメソッドを完全にまとめており、対応する機能と使用方法をすばやく参照できます。


2つのプログラミングインターフェース

Matplotlib は2つの使用方法を提供しており、さまざまなシナリオに適しています。

特性 Axes インターフェース(明示的/オブジェクト指向) pyplot インターフェース(暗黙的/関数型)
使用方法 最初に Figure と Axes オブジェクトを作成し、次にオブジェクトメソッドを呼び出す pyplot モジュールの関数を直接呼び出し、現在のグラフを暗黙的に操作する
適用シーン 複雑なグラフ、複数のサブプロット、細かい制御が必要な場合 高速プロット、インタラクティブな探索、単純なグラフ
コード例 fig, ax = plt.subplots(); ax.plot(x, y) plt.plot(x, y); plt.title("标题")
推奨度 推奨(より明確で、より制御しやすい) 単純なシナリオと迅速なプロトタイピングに適しています

Axes インターフェースは公式推奨のプログラミング方法であり、コードロジックがより明確で、複数のサブプロットや複雑なグラフを扱う際にエラーが発生しにくくなります。簡単に参照できるように、以下では pyplot 関数と対応する Axes メソッドを併記しています。

関数関連内容
Matplotlib plot() 関数plot()
Matplotlib scatter() 関数scatter()
Matplotlib bar() / barh() 関数bar(), barh(), bar_label(), grouped_bar()
Matplotlib hist() 関数hist()
Matplotlib pie() 関数pie(), pie_label()
Matplotlib imshow() 関数imshow()
Matplotlib subplots() 関数subplots()
Matplotlib figure() 関数figure()
Matplotlib savefig() 関数savefig()
Matplotlib errorbar() 関数errorbar()
Matplotlib boxplot() 関数boxplot()
Matplotlib contour() / contourf() 関数contour(), contourf(), clabel()
Matplotlib fill_between() / fill_betweenx() 関数fill_between(), fill_betweenx()
Matplotlib legend() 関数legend()
Matplotlib text() / annotate() 関数text(), annotate()
Matplotlib タイトルとラベル関数title(), xlabel(), ylabel(), suptitle(), supxlabel(), supylabel()
Matplotlib colorbar() 関数colorbar()
Matplotlib Figure と Axes 管理関数axes(), cla(), clf(), close(), delaxes(), fignum_exists(), gca(), gcf(), get_figlabels(), get_fignums(), sca(), subplot(), subplot2grid(), subplot_mosaic(), twinx(), twiny()
Matplotlib 高度なプロット関数step(), stem(), eventplot(), stackplot(), broken_barh(), vlines(), hlines(), fill(), loglog(), semilogx(), semilogy()
Matplotlib スパンとベクトル場の関数axhline(), axhspan(), axvline(), axvspan(), axline(), quiver(), quiverkey(), barbs(), streamplot()
Matplotlib スペクトル分析関数acorr(), xcorr(), psd(), csd(), specgram(), cohere(), angle_spectrum(), magnitude_spectrum(), phase_spectrum()
Matplotlib 2次元データと統計グラフ関数hist2d(), hexbin(), stairs(), matshow(), pcolor(), pcolormesh(), spy(), figimage(), ecdf(), violinplot()
Matplotlib 三角形メッシュと極座標関数triplot(), tripcolor(), tricontour(), tricontourf(), polar(), rgrids(), thetagrids()
Matplotlib 軸設定関数xlim(), ylim(), xscale(), yscale(), xticks(), yticks(), tick_params(), ticklabel_format(), locator_params(), minorticks_on(), minorticks_off(), grid(), axis(), box(), autoscale()
Matplotlib レイアウトと設定関数subplots_adjust(), tight_layout(), margins(), subplot_tool(), rc(), rc_context(), rcdefaults(), clim(), get_cmap(), set_cmap(), gci(), sci(), imread(), imsave(), draw(), ion(), ioff(), pause(), switch_backend(), show(), isinteractive(), install_repl_displayhook(), uninstall_repl_displayhook(), draw_if_interactive()
Matplotlib ツールとインタラクション関数connect(), disconnect(), ginput(), waitforbuttonpress(), findobj(), get(), setp(), getp(), get_current_fig_manager(), new_figure_manager(), set_loglevel(), xkcd()
Matplotlib Fig レベルのテキストと注釈関数figtext(), figlegend(), table(), arrow()

pyplot モジュール - 全関数リスト

pyplot は Matplotlib のトップレベルインターフェースであり、MATLAB に似たプロット体験を提供します。以下に公式分類に従ってすべての関数を示します。

1. Figure と Axes の管理

Figure(キャンバス)と Axes(座標系/サブプロット)を作成および管理する関数。

関数機能説明
figure()新しい Figure を作成するか、既存の Figure をアクティブにする
subplots()推奨Figure と一連の Axes サブプロットを作成する
subplot()現在の Figure に単一のサブプロットを追加する(行と列のインデックスによる)
subplot2grid()グリッドレイアウトの指定位置にサブプロットを作成する
subplot_mosaic()ラベル文字列を使用して複雑な不均一レイアウトを作成する
axes()現在の Figure に Axes を追加する
gca()現在の Axes オブジェクトを取得する
gcf()現在の Figure オブジェクトを取得する
sca()現在の Axes を設定する
cla()現在の Axes をクリアする
clf()現在の Figure をクリアする
close()Figure ウィンドウを閉じる
delaxes()Figure から指定された Axes を削除する
fignum_exists()指定された番号の Figure が存在するか確認する
get_figlabels()すべての Figure のラベルリストを返す
get_fignums()すべての Figure の番号リストを返す
twinx()共有 x 軸を持つ双 y 軸を作成する
twiny()共有 y 軸を持つ双 x 軸を作成する

2. 基本的なプロット

最も一般的に使用されるグラフタイプの描画関数。

関数機能説明
plot()折れ線グラフを描画する(最も一般的)
scatter()散布図を描画し、サイズ/色/透明度のマッピングをサポート
bar()垂直棒グラフを描画する
barh()水平棒グラフを描画する
bar_label()棒グラフのバーに数値ラベルを追加する
grouped_bar()グループ化された棒グラフを描画する
pie()円グラフを描画する
pie_label()円グラフにラベルを追加する
stem()ステムプロット(マッチ棒グラフ)を描画する
eventplot()イベントプロット(複数の水平線でイベント位置をマーク)を描画する
step()ステップグラフを描画する
fill()塗りつぶし多角形を描画する
fill_between()2本の水平曲線の間の領域を塗りつぶす
fill_betweenx()2本の垂直曲線の間の領域を塗りつぶす
stackplot()積み上げ面積グラフを描画する
broken_barh()水平のブロークンバープロット(ガントチャート風)を描画する
vlines()垂直基準線を描画する
hlines()水平基準線を描画する
errorbar()誤差範囲付き折れ線グラフを描画する
loglog()両対数座標の折れ線グラフ
semilogx()x 軸対数座標の折れ線グラフ
semilogy()y 軸対数座標の折れ線グラフ
polar()極座標系でプロットする

3. スパン(Spans)

水平および垂直の基準線と着色領域を描画する。

関数機能説明
axhline()Axes を横切る水平線を追加する
axhspan()Axes を横切る水平着色帯を追加する
axvline()Axes を縦断する垂直線を追加する
axvspan()Axes を縦断する垂直着色帯を追加する
axline()2点を通る無限に長い直線を追加する

4. スペクトル分析

信号処理とスペクトル可視化のための関数。

関数機能説明
acorr()自己相関プロットを描画する
xcorr()相互相関プロットを描画する
angle_spectrum()角度スペクトルを描画する
magnitude_spectrum()振幅スペクトルを描画する
phase_spectrum()位相スペクトルを描画する
psd()パワースペクトル密度を描画する
csd()クロススペクトル密度を描画する
cohere()コヒーレンスを描画する
specgram()スペクトログラム(時間周波数プロット)を描画する

5. 統計グラフ

統計分布に関連するグラフを描画する。

関数機能説明
boxplot()箱ひげ図を描画する
violinplot()バイオリン図を描画する
ecdf()経験累積分布関数(ECDF)を描画する

6. ビニングとヒストグラム

関数機能説明
hist()1次元ヒストグラムを描画する
hist2d()2次元ヒストグラムを描画する
hexbin()六角形ビンプロットを描画する
stairs()ステップヒストグラムを描画する(新版、hist の step モードの代替)

7. 等高線

関数機能説明
contour()等高線を描画する
contourf()塗りつぶし等高線を描画する
clabel()等高線にラベルを追加する

8. 2次元配列と画像

2次元データ、行列、画像を表示する可視化関数。

関数機能説明
imshow()画像または2次元配列(ヒートマップ)を表示する
matshow()行列を新しい Figure の画像として表示する
pcolor()疑似カラーメッシュプロットを描画する(PolyCollection を作成)
pcolormesh()疑似カラーメッシュプロットを描画する(QuadMesh を作成、パフォーマンス向上)
spy()疎行列の非ゼロ要素パターンを描画する
figimage()Figure レベル(Axes ではなく)に画像を配置する

9. 非構造三角形メッシュ

関数機能説明
triplot()非構造三角形メッシュを描画する
tripcolor()三角形メッシュの疑似カラープロットを描画する
tricontour()三角形メッシュ上に等高線を描画する
tricontourf()三角形メッシュ上に塗りつぶし等高線を描画する

10. テキストと注釈

関数機能説明
text()Axes の指定座標にテキストを追加する
figtext()Figure の指定位置にテキストを追加する
annotate()矢印付きの注釈を追加する
arrow()矢印を追加する
legend()Axes に凡例を追加する
figlegend()Figure レベルで凡例を追加する
table()Axes に表を追加する

11. ベクトル場

関数機能説明
quiver()ベクトル場(矢印プロット)を描画する
quiverkey()ベクトル場に凡例スケールを追加する
barbs()風羽プロットを描画する(気象学で風速と風向を示す)
streamplot()流線プロットを描画する

12. 軸の設定

軸の範囲、目盛り、ラベル、スケールを設定する関数。

関数機能説明
title()Axes のタイトルを設定する
suptitle()Figure の全体タイトルを設定する
xlabel()x 軸ラベルを設定する
ylabel()y 軸ラベルを設定する
xlim()x 軸の範囲を取得または設定する
ylim()y 軸の範囲を取得または設定する
xscale()x 軸のスケールを設定する(linear/log/symlog/logit...)
yscale()y 軸のスケールを設定する(linear/log/symlog/logit...)
xticks()x 軸の目盛り位置とラベルを取得または設定する
yticks()y 軸の目盛り位置とラベルを取得または設定する
tick_params()目盛りの外観(方向、色、サイズ、ラベルの回転など)を調整する
ticklabel_format()目盛りラベルの書式を設定する(科学的記数法など)
locator_params()目盛りロケータのパラメータを制御する
minorticks_on()補助目盛りを表示する
minorticks_off()補助目盛りを非表示にする
rgrids()極座標プロットの動径グリッド線を取得または設定する
thetagrids()極座標プロットの角度グリッド線を取得または設定する
grid()グリッド線をオンまたはオフにする
axis()特定の軸属性を取得または設定するための便利な関数
box()Axes の枠線をオンまたはオフにする
autoscale()データに合わせて軸を自動スケーリングする

13. レイアウト

サブプロットの配置と間隔を制御する関数。

関数機能説明
subplots_adjust()サブプロットの間隔を手動で調整する(left/right/top/bottom/wspace/hspace)
tight_layout()サブプロットパラメータを自動調整してコンパクトに配置する
margins()軸のデータ余白を設定または取得する
subplot_tool()対話的なサブプロット調整ツールウィンドウを起動する

14. カラーマッピング

colormap とカラーバーに関連する関数。

関数機能説明
colorbar()カラーバーを追加する
clim()カラーマッピングのデータ範囲を設定する
get_cmap()指定された名前の colormap オブジェクトを取得する
set_cmap()デフォルトの colormap を設定する
gci()現在のカラーマッピング可能な画像オブジェクトを取得する
sci()現在のカラーマッピング可能な画像オブジェクトを設定する
imread()ファイルから画像を配列に読み込む
imsave()配列を画像ファイルとして保存する
colormapscolormap レジストリオブジェクト
color_sequences色系列レジストリオブジェクト

15. 設定

Matplotlib のグローバル設定パラメータを管理する関数。

関数機能説明
rc()rc パラメータを設定する(一括設定可能)
rc_context()rc パラメータを一時的に設定するコンテキストマネージャ
rcdefaults()すべての rc パラメータをデフォルト値に戻す

16. 出力と対話

グラフの表示、保存、対話モードを制御する関数。

関数機能説明
show()開いているすべての Figure を表示する
savefig()現在の Figure をファイルに保存する
draw()現在の Figure を強制的に再レンダリングする
draw_if_interactive()対話モードの場合は Figure をレンダリングする
pause()指定秒数だけ一時停止する(その間イベントを処理する)
ion()対話モードをオンにする
ioff()対話モードをオフにする
isinteractive()現在対話モードかどうかを返す
install_repl_displayhook()REPL 表示フックをインストールする(Figure を自動表示させる)
uninstall_repl_displayhook()REPL 表示フックをアンインストールする
switch_backend()バックエンドを切り替える

17. その他のユーティリティ関数

関数機能説明
connect()イベントコールバック関数をバインドする
disconnect()イベントコールバック関数をアンバインドする
ginput()マウスクリックで座標点を取得する
waitforbuttonpress()マウスまたはキーボードの入力を待ち、イベントタイプを返す
findobj()指定した条件に一致する Artist オブジェクトを検索する
get()Artist オブジェクトの属性値を取得
getp()Artist オブジェクトの属性を取得(get のエイリアス)
setp()Artist オブジェクトの属性を設定
get_current_fig_manager()現在の Figure のウィンドウマネージャを取得
new_figure_manager()指定された Figure に対して新しい Figure マネージャを作成
set_loglevel()Matplotlib のログレベルを設定
xkcd()xkcd(手書き漫画)スタイルに切り替え

Axes オブジェクト - 全メソッドリスト

Axes(Axes オブジェクト)は Figure 内のサブプロットを表し、データ、目盛り、ラベル、タイトルなどを含みます。以下に公式の分類に従ってすべてのメソッドを完全に列挙します。

1. 基本的なプロットメソッド

メソッド機能の説明
Axes.plot()折れ線グラフ
Axes.scatter()散布図
Axes.bar()垂直棒グラフ
Axes.barh()水平棒グラフ
Axes.bar_label()棒に数値ラベルを追加
Axes.grouped_bar()グループ化棒グラフ
Axes.pie()円グラフ
Axes.pie_label()円グラフのラベル
Axes.stem()幹葉図
Axes.eventplot()イベントプロット
Axes.step()階段グラフ
Axes.fill()多角形の塗りつぶし
Axes.fill_between()水平方向の塗りつぶし領域
Axes.fill_betweenx()垂直方向の塗りつぶし領域
Axes.stackplot()積み上げ面グラフ
Axes.broken_barh()水平断棒グラフ
Axes.vlines()垂直基準線
Axes.hlines()水平基準線
Axes.errorbar()誤差棒付き折れ線グラフ
Axes.loglog()両対数座標
Axes.semilogx()x軸対数座標
Axes.semilogy()y軸対数座標

2. スパンメソッド

メソッド機能の説明
Axes.axhline()水平基準線
Axes.axvline()垂直基準線
Axes.axhspan()水平方向の色付き帯
Axes.axvspan()垂直方向の色付き帯
Axes.axline()2点を通る無限長の直線

3. スペクトル分析メソッド

メソッド機能の説明
Axes.acorr()自己相関プロット
Axes.xcorr()相互相関プロット
Axes.angle_spectrum()角度スペクトル
Axes.magnitude_spectrum()振幅スペクトル
Axes.phase_spectrum()位相スペクトル
Axes.psd()パワースペクトル密度
Axes.csd()クロススペクトル密度
Axes.cohere()コヒーレンス
Axes.specgram()スペクトログラム(時間周波数図)

4. 統計メソッド

メソッド機能の説明
Axes.boxplot()箱ひげ図
Axes.bxp()事前に計算された統計データから箱ひげ図を描画
Axes.violinplot()バイオリンプロット
Axes.violin()事前に計算された統計データからバイオリンプロットを描画
Axes.ecdf()経験累積分布関数

5. ビニングとヒストグラムのメソッド

メソッド機能の説明
Axes.hist()ヒストグラム
Axes.hist2d()2次元ヒストグラム
Axes.hexbin()六角形ビニングプロット
Axes.stairs()階段ヒストグラム

6. 等高線メソッド

メソッド機能の説明
Axes.contour()等高線
Axes.contourf()塗りつぶし等高線
Axes.clabel()等高線ラベル

7. 2次元配列メソッド

メソッド機能の説明
Axes.imshow()画像/ヒートマップの表示
Axes.matshow()行列画像
Axes.pcolor()疑似カラーメッシュ(PolyCollection)
Axes.pcolorfast()高速疑似カラー(imshow を使用して描画)
Axes.pcolormesh()疑似カラーメッシュ(QuadMesh、推奨)
Axes.spy()スパース行列パターン

8. 非構造三角形メッシュメソッド

メソッド機能の説明
Axes.triplot()三角形メッシュの線
Axes.tripcolor()三角形メッシュの疑似カラー
Axes.tricontour()三角形メッシュの等高線
Axes.tricontourf()三角形メッシュの塗りつぶし等高線

9. テキストと注釈メソッド

メソッド機能の説明
Axes.text()テキストを追加
Axes.annotate()矢印付きの注釈を追加
Axes.table()テーブルを追加
Axes.arrow()矢印を追加
Axes.inset_axes()Axes 内に埋め込みサブプロットを作成
Axes.indicate_inset()親 Axes 上に埋め込みサブプロット領域をマーク
Axes.indicate_inset_zoom()埋め込みサブプロットの拡大領域をマーク
Axes.secondary_xaxis()補助 x 軸を追加(別の位置に同じデータを表示)
Axes.secondary_yaxis()補助 y 軸を追加

10. ベクトル場メソッド

メソッド機能の説明
Axes.quiver()ベクトル場(矢印プロット)
Axes.quiverkey()ベクトル場の凡例スケール
Axes.barbs()風羽プロット
Axes.streamplot()流線プロット

11. クリアメソッド

メソッド機能の説明
Axes.cla()Axes 内のすべてのコンテンツをクリア
Axes.clear()Axes をクリア(cla() と同じ)

12. 外観メソッド

メソッド機能の説明
Axes.axis()軸の可視性または範囲を設定
Axes.set_axis_off()座標軸を非表示
Axes.set_axis_on()座標軸を表示
Axes.set_frame_on()Axes の境界線を表示
Axes.get_frame_on()境界線が表示されているかどうかを取得
Axes.set_axisbelow()グリッド/目盛りをデータの下に表示するかどうかを設定
Axes.get_axisbelow()グリッド/目盛りのレイヤーを取得
Axes.grid()グリッド線を設定
Axes.get_facecolor()Axes の背景色を取得
Axes.set_facecolor()Axes の背景色を設定

13. 属性サイクル

メソッド機能の説明
Axes.set_prop_cycle()線の色/線種などのプロパティのサイクルを設定

14. 軸と目盛りの制御

座標軸へのアクセス:

メソッド機能の説明
Axes.xaxis / Axes.yaxisx/y 軸の Axis オブジェクトを取得(属性)
Axes.get_xaxis() / get_yaxis()x/y 軸の Axis オブジェクトを取得

座標軸の範囲と方向:

メソッド機能の説明
Axes.set_xlim() / get_xlim()x 軸の範囲を設定/取得
Axes.set_ylim() / get_ylim()y 軸の範囲を設定/取得
Axes.set_xbound() / get_xbound()x 軸の下限と上限を設定/取得
Axes.set_ybound() / get_ybound()y 軸の下限と上限を設定/取得
Axes.invert_xaxis()x 軸の方向を反転
Axes.invert_yaxis()y 軸の方向を反転
Axes.xaxis_inverted() / yaxis_inverted()軸が反転しているかどうかを確認
Axes.set_xinverted() / get_xinverted()x 軸が反転しているかどうかを設定/取得
Axes.set_yinverted() / get_yinverted()y 軸が反転しているかどうかを設定/取得
Axes.update_datalim()新しいデータポイントでデータ範囲を拡張

座標軸ラベルと凡例:

メソッド機能の説明
Axes.set_xlabel() / get_xlabel()x 軸ラベルを設定/取得
Axes.set_ylabel() / get_ylabel()y 軸ラベルを設定/取得
Axes.label_outer()最外側のサブプロットの目盛りラベルのみを表示
Axes.set_title() / get_title()Axes のタイトルを設定/取得
Axes.legend()凡例を追加
Axes.get_legend()現在の凡例オブジェクトを取得
Axes.get_legend_handles_labels()凡例のハンドルとラベルを取得

座標軸のスケール:

メソッド機能の説明
Axes.set_xscale() / get_xscale()x 軸のスケールを設定/取得
Axes.set_yscale() / get_yscale()y 軸のスケールを設定/取得

自動スケーリングとマージン:

メソッド機能の説明
Axes.autoscale()データに合わせてビューを自動スケーリング
Axes.autoscale_view()ビューのみを自動スケーリング(マージンは変更しない)
Axes.margins()データマージンを設定または取得
Axes.relim()現在の Artist に基づいてデータ範囲を再計算
Axes.use_sticky_edges()スティッキーエッジを使用
Axes.set_xmargin() / get_xmargin()x 軸のマージンを設定/取得
Axes.set_ymargin() / get_ymargin()y 軸のマージンを設定/取得
Axes.set_autoscale_on() / get_autoscale_on()自動スケーリングかどうかを設定/取得
Axes.set_autoscalex_on() / get_autoscalex_on()x 軸が自動スケーリングかどうかを設定/取得
Axes.set_autoscaley_on() / get_autoscaley_on()y 軸が自動スケーリングかどうかを設定/取得

アスペクト比:

メソッド機能の説明
Axes.set_aspect() / get_aspect()座標軸のアスペクト比を設定/取得('equal'/'auto'/数値)
Axes.set_box_aspect() / get_box_aspect()Axes ボックスのアスペクト比を設定/取得
Axes.apply_aspect()現在のアスペクト比設定を適用
Axes.set_adjustable() / get_adjustable()調整可能な方向を設定/取得('box'/'datalim')

目盛りと目盛りラベル:

メソッド機能の説明
Axes.set_xticks() / get_xticks()x 軸の目盛り位置を設定/取得
Axes.set_yticks() / get_yticks()y 軸の目盛り位置を設定/取得
Axes.set_xticklabels() / get_xticklabels()x 軸の目盛りラベルを設定/取得
Axes.set_yticklabels() / get_yticklabels()y 軸の目盛りラベルを設定/取得
Axes.get_xmajorticklabels()x 軸の主目盛りラベルを取得
Axes.get_xminorticklabels()x 軸の副目盛りラベルを取得
Axes.get_ymajorticklabels()y 軸の主目盛りラベルを取得
Axes.get_yminorticklabels()y 軸の副目盛りラベルを取得
Axes.get_xgridlines()x 軸のグリッド線を取得
Axes.get_ygridlines()y 軸のグリッド線を取得
Axes.get_xticklines()x 軸の目盛り線を取得
Axes.get_yticklines()y 軸の目盛り線を取得
Axes.xaxis_date()x 軸の目盛りを日付形式に設定
Axes.yaxis_date()y 軸の目盛りを日付形式に設定
Axes.minorticks_on()副目盛りを表示
Axes.minorticks_off()副目盛りを非表示
Axes.ticklabel_format()目盛りラベルの書式設定
Axes.tick_params()目盛りの外観パラメータを調整
Axes.locator_params()目盛りロケーターのパラメータを制御

15. 単位

メソッド機能説明
Axes.convert_xunits()単位コンバーターを使用してx値を変換
Axes.convert_yunits()単位コンバーターを使用してy値を変換
Axes.have_units()登録された単位コンバーターがあるか確認

16. Artist の追加

メソッド機能説明
Axes.add_artist()任意のArtistオブジェクトを追加
Axes.add_child_axes()子Axesを追加
Axes.add_collection()Collectionオブジェクトを追加
Axes.add_container()Containerオブジェクトを追加
Axes.add_image()AxesImageオブジェクトを追加
Axes.add_line()Line2Dオブジェクトを追加
Axes.add_patch()Patchオブジェクトを追加
Axes.add_table()Tableオブジェクトを追加

17. 双軸と共有軸

メソッド機能説明
Axes.twinx()x軸を共有する双y軸を作成
Axes.twiny()y軸を共有する双x軸を作成
Axes.sharex()他のAxesとx軸を共有
Axes.sharey()他のAxesとy軸を共有
Axes.get_shared_x_axes()共有x軸のGrouperオブジェクトを取得
Axes.get_shared_y_axes()共有y軸のGrouperオブジェクトを取得

18. Axes の位置

メソッド機能説明
Axes.get_position() / set_position()Figure内のAxesの位置とサイズを取得/設定
Axes.get_anchor() / set_anchor()Axesのアンカー(固定位置)を取得/設定
Axes.get_axes_locator() / set_axes_locator()Axesロケーターコールバック関数を取得/設定
Axes.get_subplotspec() / set_subplotspec()SubplotSpecオブジェクトを取得/設定
Axes.reset_position()Axesの位置を元の値にリセット

19. 非同期/イベント

メソッド機能説明
Axes.staleArtistを再描画が必要かどうかマーク(プロパティ)
Axes.pchanged()属性変更イベントをマーク
Axes.add_callback()属性変更コールバックを追加
Axes.remove_callback()属性変更コールバックを削除

20. インタラクション

メソッド機能説明
Axes.can_pan() / can_zoom()パン/ズームが可能かどうかを返す
Axes.set_navigate() / get_navigate()ナビゲーションツールバーが有効かどうかを設定/取得
Axes.set_navigate_mode() / get_navigate_mode()ナビゲーションモードを設定/取得
Axes.start_pan() / drag_pan() / end_pan()パン操作の開始/ドラッグ/終了
Axes.format_coord()ツールバーに表示される座標文字列をフォーマット
Axes.format_cursor_data()カーソル位置のデータ値をフォーマット
Axes.format_xdata() / format_ydata()x/yデータ値をフォーマット
Axes.mouseover()マウスがAxes上にあるかどうかを判定
Axes.in_axes()点がAxes内にあるかどうかを判定
Axes.contains() / contains_point()Artistが点を含むかどうかを判定
Axes.get_cursor_data()カーソル位置のデータを取得
Axes.get_forward_navigation_events() / set_forward_navigation_events()ナビゲーションイベントの転送を取得/設定

21. 子要素のクエリ

メソッド機能説明
Axes.get_children()すべての子Artistを取得
Axes.get_images()すべての画像オブジェクトを取得
Axes.get_lines()すべての折れ線オブジェクトを取得
Axes.findobj()条件に一致する子Artistを検索

22. 描画

メソッド機能説明
Axes.draw()Axesをレンダリング
Axes.draw_artist()単一のArtistを描画(低レベルメソッド)
Axes.redraw_in_frame()フレーム内で再描画
Axes.get_window_extent()表示ウィンドウ内のAxesの境界を取得
Axes.get_tightbbox()Axesのコンパクトな境界ボックスを取得
Axes.get_rasterization_zorder() / set_rasterization_zorder()ラスタライズのzorderしきい値を取得/設定

23. 投影(サブクラスでオーバーライドが必要)

メソッド機能説明
Axes.name投影名(例: 'rectilinear'、'polar')
Axes.get_xaxis_transform() / get_yaxis_transform()x/y軸の変換を取得
Axes.get_data_ratio()データのアスペクト比を取得
Axes.get_xaxis_text1_transform()x軸下部ラベルの変換
Axes.get_xaxis_text2_transform()x軸上部ラベルの変換
Axes.get_yaxis_text1_transform()y軸左側ラベルの変換
Axes.get_yaxis_text2_transform()y軸右側ラベルの変換

24. その他のメソッド

メソッド機能説明
Axes.set()プロパティを一括設定
Axes.zorderzorderを取得/設定(プロパティ)
Axes.get_figure()所属するFigureオブジェクトを取得
Axes.figure所属するFigureオブジェクト(プロパティ)
Axes.remove()Figureから自身を削除
Axes.has_data()データがあるか確認
Axes.get_default_bbox_extra_artists()境界ボックス計算で追加で含める必要があるArtistを取得
Axes.get_transformed_clip_path_and_affine()変換後のクリップパスを取得
Axes.viewLimビュー範囲(プロパティ)
Axes.dataLimデータ範囲(プロパティ)
Axes.spines枠線ディクショナリ(プロパティ)

Figure オブジェクト - 全メソッドリスト

Figureはチャート全体のトップレベルコンテナであり、すべてのAxes、Artist、レイアウトを管理します。

1. Axes と SubFigure の追加

メソッド機能説明
Figure.subplots()推奨Axesのサブプロットグリッドを作成
Figure.add_subplot()行と列の位置で単一のサブプロットを追加
Figure.add_axes()指定した位置とサイズでAxesを追加
Figure.subplot_mosaic()ラベルレイアウトを使用して複雑なサブプロット配置を作成
Figure.add_gridspec()GridSpecレイアウトオブジェクトを追加
Figure.subfigures()ネストされた子Figureを作成
Figure.add_subfigure()単一のSubFigureを追加
Figure.axesAxesリスト(プロパティ)
Figure.get_axes()すべてのAxesを取得
Figure.delaxes()指定したAxesを削除

2. 保存

メソッド機能説明
Figure.savefig()Figureをファイルに保存

3. Figure レベルの注釈

メソッド機能説明
Figure.suptitle() / get_suptitle()Figureの全体タイトルを設定/取得
Figure.supxlabel() / get_supxlabel()Figureレベルのxラベルを設定/取得
Figure.supylabel() / get_supylabel()Figureレベルのyラベルを設定/取得
Figure.colorbar()カラーバーを追加
Figure.legend()グローバル凡例を追加
Figure.text()Figureレベルでテキストを追加
Figure.align_labels()すべてのサブプロットの軸ラベルを整列
Figure.align_xlabels()すべてのサブプロットのx軸ラベルを整列
Figure.align_ylabels()すべてのサブプロットのy軸ラベルを整列
Figure.align_titles()すべてのサブプロットのタイトルを整列
Figure.autofmt_xdate()日付目盛りラベルを自動回転

4. Figure のジオメトリ

メソッド機能説明
Figure.set_size_inches() / get_size_inches()Figureのサイズ(インチ)を設定/取得
Figure.set_figheight() / get_figheight()Figureの高さを設定/取得
Figure.set_figwidth() / get_figwidth()Figureの幅を設定/取得
Figure.dpiDPI解像度(プロパティ)
Figure.set_dpi() / get_dpi()DPIを設定/取得

5. サブプロットレイアウト

メソッド機能説明
Figure.subplots_adjust()サブプロット間隔を手動で調整
Figure.set_layout_engine()レイアウトエンジンを設定('constrained'/'compressed'/'none')
Figure.get_layout_engine()現在のレイアウトエンジンを取得
Figure.tight_layout()自動コンパクトレイアウト(非推奨)
Figure.set_tight_layout() / get_tight_layout()tight_layoutを設定/取得(非推奨)
Figure.set_constrained_layout() / get_constrained_layout()constrained_layoutを設定/取得(非推奨)
Figure.set_constrained_layout_pads() / get_constrained_layout_pads()constrained_layoutの余白を設定/取得(非推奨)

6. インタラクション

メソッド機能説明
Figure.ginput()マウスクリックで座標点を取得
Figure.waitforbuttonpress()マウスまたはキーボードの押下を待機
Figure.pick()pickイベントをトリガー
Figure.add_axobserver()Axesオブザーバーを追加

7. 外観の変更

メソッド機能説明
Figure.set_frameon() / get_frameon()Figureの背景の表示/非表示を設定/取得
Figure.set_linewidth() / get_linewidth()Figureの枠線の線幅を設定/取得
Figure.set_facecolor() / get_facecolor()Figureの背景色を設定/取得
Figure.set_edgecolor() / get_edgecolor()Figureの枠線の色を設定/取得

8. Artist の追加と取得

メソッド機能説明
Figure.add_artist()任意のArtistを追加
Figure.figimage()Figureレベルで画像を配置
Figure.get_children()すべての子Artistを取得

9. 状態管理

メソッド機能説明
Figure.clear()Figureをクリア
Figure.gca()現在のAxesを取得
Figure.sca()現在のAxesを設定
Figure.show()Figureを表示
Figure.draw()Figureをレンダリング
Figure.draw_artist()単一のArtistを描画
Figure.draw_without_rendering()レンダリングせずにレイアウトを計算(サイズ情報を取得するため)
Figure.set_canvas()キャンバスを設定
Figure.get_tightbbox()Figureのコンパクトな境界ボックスを取得
Figure.get_window_extent()表示ウィンドウ内での Figure の境界を取得

10. ヘルパー関数

関数機能説明
figaspect()指定されたアスペクト比に基づいて Figure サイズを計算

SubFigure オブジェクト - メソッドリスト

SubFigure は親 Figure 内にネストされた論理的な子 Figure であり、Figure と同様のメソッドを持ちます。

Axes の追加

メソッド機能説明
SubFigure.subplots()サブプロットグリッドを作成
SubFigure.add_subplot()単一のサブプロットを追加
SubFigure.add_axes()指定された位置に Axes を追加
SubFigure.subplot_mosaic()ラベル付きレイアウトのサブプロット
SubFigure.add_gridspec()GridSpec を追加
SubFigure.subfigures()より深くネストされた SubFigure を作成
SubFigure.add_subfigure()単一の SubFigure を追加
SubFigure.delaxes()Axes を削除

注釈

メソッド機能説明
SubFigure.suptitle() / get_suptitle()SubFigure の全体タイトル
SubFigure.supxlabel() / get_supxlabel()SubFigure の x ラベル
SubFigure.supylabel() / get_supylabel()SubFigure の y ラベル
SubFigure.colorbar()カラーバー
SubFigure.legend()凡例
SubFigure.text()テキスト
SubFigure.align_labels()ラベルを整列
SubFigure.align_xlabels() / align_ylabels()x/y ラベルを整列
SubFigure.align_titles()タイトルを整列

Artist と外観

メソッド機能説明
SubFigure.add_artist()Artist を追加
SubFigure.get_children()子 Artist を取得
SubFigure.set_frameon() / get_frameon()枠線の設定/取得
SubFigure.set_linewidth() / get_linewidth()線幅の設定/取得
SubFigure.set_facecolor() / get_facecolor()背景色の設定/取得
SubFigure.set_edgecolor() / get_edgecolor()枠線色の設定/取得
SubFigure.set_dpi() / get_dpi()DPI の設定/取得

スタイル設定のクイックリファレンス

組み込みスタイルシート

を使用してplt.style.use('name')スタイルを切り替えます。

スタイル名スタイルの説明
defaultデフォルトスタイル。すっきりとした中立的な外観
ggplotR の ggplot2 スタイルを模倣。灰色の背景に白いグリッド
seaborn-v0_8seaborn ライブラリに似たモダンなスタイル
seaborn-v0_8-brightseaborn のブライトパレット
seaborn-v0_8-colorblindseaborn の色覚多様性対応パレット
seaborn-v0_8-darkseaborn のダークスタイル
seaborn-v0_8-dark-paletteseaborn のディープパレット
seaborn-v0_8-darkgridseaborn のダークグリッドスタイル
seaborn-v0_8-deepseaborn のダークパレット
seaborn-v0_8-mutedseaborn のミュートパレット
seaborn-v0_8-notebookseaborn の notebook スタイル
seaborn-v0_8-paperseaborn の論文スタイル
seaborn-v0_8-pastelseaborn のパステルパレット
seaborn-v0_8-posterseaborn のポスタースタイル
seaborn-v0_8-talkseaborn のトークスタイル
seaborn-v0_8-ticksseaborn の目盛りスタイル
seaborn-v0_8-whiteseaborn の白背景スタイル
seaborn-v0_8-whitegridseaborn の白背景 + グリッドスタイル
fivethirtyeightFiveThirtyEight のデータジャーナリズムスタイルを模倣
dark_backgroundダーク背景。プレゼンテーションや夜間の使用に適している
bmhBayesian Methods for Hackers スタイル
grayscaleグレースケールスタイル。白黒印刷に適している
classicMatplotlib v1.x のクラシックスタイル
fast簡素化されたスタイルで、レンダリングが高速
Solarize_Light2Solarized のライトテーマ
tableau-colorblind10Tableau の色覚多様性対応パレット

一般的な rcParams 設定

パラメータ説明設定例
figure.figsizeデフォルトの図のサイズ(インチ)[8, 6]
figure.dpiデフォルトの解像度100
figure.facecolorFigure の背景色'white'
figure.edgecolorFigure の枠線色'white'
font.size全体のフォントサイズ12
font.familyフォントファミリー'sans-serif'
font.sans-serifサンセリフフォントのリスト['DejaVu Sans', ...]
axes.titlesizeタイトルのフォントサイズ'large'
axes.labelsize軸ラベルのフォントサイズ'medium'
axes.gridデフォルトでグリッドを表示するかどうかFalse
axes.facecolorAxes の背景色'white'
axes.spines.top上部の枠線を表示するかどうかTrue
axes.spines.right右側の枠線を表示するかどうかTrue
lines.linewidthデフォルトの線幅1.5
lines.markersizeデフォルトのマーカーサイズ6
lines.linestyleデフォルトの線種'-'
legend.loc凡例のデフォルト位置'best'
legend.fontsize凡例のフォントサイズ'medium'
xtick.labelsizex 軸の目盛りラベルサイズ'medium'
ytick.labelsizey 軸の目盛りラベルサイズ'medium'
savefig.dpi画像保存時のデフォルト解像度'figure'
savefig.bbox保存時の境界モードNone
image.cmapデフォルトの colormap'viridis'
image.interpolation画像の補間方法'antialiased'

colormap(カラーマップ)クイックリファレンス

分類colormap 名適用シーン
知覚的均一(Sequential)viridis, plasma, inferno, magma, cividis連続データ、色覚多様性に配慮、第一推奨
順次的(単色グラデーション)Greys, Purples, Blues, Greens, Oranges, Reds, YlOrBr, YlOrRd, OrRd, PuRd, RdPu, BuPu, GnBu, PuBu, YlGnBu, PuBuGn, BuGn, YlGn低から高への連続データ、単色調
発散的(Diverging)PiYG, PRGn, BrBG, PuOr, RdGy, RdBu, RdYlBu, RdYlGn, Spectral, coolwarm, bwr, seismic中心の基準点を持つ双方向データ
循環(Cyclic)twilight, twilight_shifted, hsv周期的なデータ(角度、時間など)
定性的(Qualitative)Pastel1, Pastel2, Paired, Accent, Dark2, Set1, Set2, Set3, tab10, tab20, tab20b, tab20c離散的なカテゴリデータ
その他flag, prism, ocean, gist_earth, terrain, gist_stern, gnuplot, gnuplot2, CMRmap, cubehelix, brg, gist_rainbow, rainbow, jet, turbo, nipy_spectral, gist_ncar特殊な用途や視覚効果用

'viridis'Matplotlib 2.0 以降のデフォルトの colormap であり、優れた知覚的均一性と色覚多様性への配慮を備え、ほとんどのシーンで第一候補です。次の使用は避けてください。'jet'と'rainbow'、これらには知覚的な歪みの問題があります。


一般的な例

例1:基本的な折れ線グラフと散布図

明示的な Axes インターフェースを使用して、複数の曲線と注釈を含むグラフを作成します。

実例

import matplotlib.pyplot as plt
import numpy as np

# データを生成:0 から 10 までの等間隔な 100 点
x = np.linspace(0, 10, 100)
y1 = np.sin(x)   # 正弦関数
y2 = np.cos(x)   # 余弦関数

# Figure と Axes を作成(明示的インターフェース、推奨)
fig, ax = plt.subplots(figsize=(8, 4), layout='constrained')

# 2 本の折れ線を描画し、色・線種・ラベルを設定
ax.plot(x, y1, label='sin(x)', color='blue', linewidth=2)
ax.plot(x, y2, label='cos(x)', color='red', linestyle='--', linewidth=2)

# ピーク位置にハイライト散布点を追加
peak_idx_sin = np.argmax(y1)
peak_idx_cos = np.argmax(y2)
ax.scatter(x[peak_idx_sin], y1[peak_idx_sin],
           color='blue', s=100, zorder=5)
ax.scatter(x[peak_idx_cos], y2[peak_idx_cos],
           color='red', s=100, zorder=5)

# 装飾:タイトル、軸ラベル、凡例、グリッド
ax.set_title('Sine and Cosine Functions', fontsize=14)
ax.set_xlabel('x (radians)')
ax.set_ylabel('Amplitude')
ax.legend(loc='upper right')
ax.grid(True, alpha=0.3)

plt.show()
print("サンプル: plot displayed successfully")

例2:複数サブプロットレイアウト(2x2)

1 つの Figure 内で異なるタイプのサブプロットを作成する方法を示します。

実例

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 2 * np.pi, 100)

# 2x2 のサブプロットを作成(オブジェクト指向インターフェース)
fig, axes = plt.subplots(2, 2, figsize=(10, 8), layout='constrained')
fig.suptitle('Multi-panel サンプル Demo', fontsize=16)

# サブプロット (0,0):折れ線グラフ
axes[0, 0].plot(x, np.sin(x), color='tab:blue', linewidth=2)
axes[0, 0].set_title('Line Plot')
axes[0, 0].set_ylabel('sin(x)')

# サブプロット (0,1):散布図
np.random.seed(42)
colors = np.random.rand(50)
sizes = np.random.rand(50) * 200
axes[0, 1].scatter(np.random.rand(50), np.random.rand(50),
                   c=colors, s=sizes, alpha=0.6, cmap='viridis')
axes[0, 1].set_title('Scatter Plot')

# サブプロット (1,0):棒グラフ(数値ラベル付き)
categories = ['A', 'B', 'C', 'D', 'E']
values = [23, 45, 56, 78, 32]
bars = axes[1, 0].bar(categories, values,
                       color='tab:green', edgecolor='white')
axes[1, 0].bar_label(bars)  # 棒の上に数値を表示
axes[1, 0].set_title('Bar Chart')

# サブプロット (1,1):ヒストグラム
data = np.random.randn(1000)
axes[1, 1].hist(data, bins=30, color='tab:orange',
                edgecolor='white', alpha=0.8)
axes[1, 1].axvline(x=0, color='red', linestyle='--', linewidth=2)
axes[1, 1].set_title('Histogram')

plt.show()

例3:ヒートマップと等高線の比較

同じ Figure 内で imshow と contourf の 2 つの方法で 2 次元データを可視化します。

実例

import matplotlib.pyplot as plt
import numpy as np

# 2 次元グリッドデータを作成
x = np.linspace(-3, 3, 100)
y = np.linspace(-3, 3, 100)
X, Y = np.meshgrid(x, y)
Z = np.sin(X) * np.cos(Y)  # 2 次元関数の値

fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(12, 5),
                                layout='constrained')

# 左の図:ヒートマップ(imshow)
im = ax1.imshow(Z, extent=[-3, 3, -3, 3], origin='lower',
                cmap='viridis', aspect='auto')
ax1.set_title('Heatmap (imshow)', fontsize=14)
ax1.set_xlabel('X')
ax1.set_ylabel('Y')
fig.colorbar(im, ax=ax1, label='Amplitude', shrink=0.8)

# 右の図:塗りつぶし等高線(contourf)
contour = ax2.contourf(X, Y, Z, levels=15, cmap='RdYlBu')
# 等高線の境界を重ねる
ax2.contour(X, Y, Z, levels=15, colors='black', linewidths=0.5)
ax2.set_title('Filled Contour (contourf)', fontsize=14)
ax2.set_xlabel('X')
ax2.set_ylabel('Y')
fig.colorbar(contour, ax=ax2, label='Amplitude', shrink=0.8)

plt.show()

例4:スタイルの切り替えと画像の保存

スタイルシートと rcParams を使用して外観をカスタマイズし、高品質な画像を保存します。

実例

import matplotlib.pyplot as plt
import numpy as np

# ggplot スタイルを使用し、一部のパラメータを微調整
plt.style.use('ggplot')
plt.rcParams['figure.figsize'] = [8, 6]
plt.rcParams['font.size'] = 12

x = np.linspace(0, 10, 50)
y1 = np.exp(-x/3) * np.sin(2 * x)  # 減衰正弦波
y2 = np.exp(-x/3) * np.cos(2 * x)  # 減衰余弦波

fig, ax = plt.subplots()
ax.plot(x, y1, 'o-', label='Damped sin', markersize=6)
ax.plot(x, y2, 's--', label='Damped cos', markersize=6)

# 最初のピークに注釈を付ける
peak_idx = np.argmax(y1)
ax.annotate(f'Peak: {y1[peak_idx]:.2f}',
            xy=(x[peak_idx], y1[peak_idx]),
            xytext=(x[peak_idx] + 1.5, y1[peak_idx] + 0.15),
            arrowprops=dict(arrowstyle='->', color='gray'),
            fontsize=10)

ax.set_title('Damped Oscillation', fontsize=16)
ax.set_xlabel('Time (s)')
ax.set_ylabel('Amplitude')
ax.legend()
ax.grid(True)

# 300 DPI の高品質 PNG として保存
fig.savefig('サンプル_damped_oscillation.png',
            dpi=300, bbox_inches='tight')
print("サンプル: figure saved successfully")

plt.show()

例5:mosaic 複雑レイアウト

subplot_mosaic を使用して不均一なサブプロット配置を作成します。

実例

import matplotlib.pyplot as plt
import numpy as np

# mosaic 文字列でレイアウトを定義:
# 'A' は上部の 1 行全体にまたがり、'B' と 'C' は左下と左中央、'D' は右下を縦方向に占有
layout = """
A A A
B C D
"""


fig, axes = plt.subplot_mosaic(layout, figsize=(10, 6),
                                layout='constrained')
fig.suptitle('Complex Mosaic Layout (サンプル)', fontsize=16)

# パネル A:折れ線グラフ(上部にまたがる)
x = np.linspace(0, 10, 100)
axes['A'].plot(x, np.sin(x), label='sin(x)')
axes['A'].plot(x, np.cos(x), label='cos(x)')
axes['A'].set_title('Panel A: Line Plot')
axes['A'].legend()

# パネル B:円グラフ
sizes = [30, 25, 20, 15, 10]
labels = ['Python', 'Java', 'C++', 'Rust', 'Go']
axes['B'].pie(sizes, labels=labels, autopct='%1.1f%%',
              startangle=90)
axes['B'].set_title('Panel B: Pie Chart')

# パネル C:棒グラフ
axes['C'].bar(['X', 'Y', 'Z'], [10, 25, 15],
              color=['#ff6b6b', '#4ecdc4', '#45b7d1'])
axes['C'].set_title('Panel C: Bar Chart')

# パネル D:ヒートマップ
matrix = np.random.rand(5, 5)
im = axes['D'].imshow(matrix, cmap='Blues', aspect='auto')
axes['D'].set_title('Panel D: Heatmap')
fig.colorbar(im, ax=axes['D'])

plt.show()

例6:双 y 軸と埋め込みサブプロット

secondary_axis、twinx、inset_axes の使い方を示します。

実例

import matplotlib.pyplot as plt
import numpy as np

fig, ax = plt.subplots(figsize=(8, 5), layout='constrained')

x = np.linspace(0, 10, 100)

# メインのグラフ:次元の異なる 2 本の曲線を描画
ax.plot(x, np.sin(x), 'b-', label='sin(x) [amplitude]')
ax.set_xlabel('x (radians)')
ax.set_ylabel('sin(x)', color='blue')
ax.tick_params(axis='y', labelcolor='blue')

# 二重 y 軸を作成(x 軸を共有)
ax2 = ax.twinx()
ax2.plot(x, np.exp(x/5), 'r--', label='exp(x/5) [growth]')
ax2.set_ylabel('exp(x/5)', color='red')
ax2.tick_params(axis='y', labelcolor='red')

# ax に埋め込みサブプロットを追加(局所領域を拡大)
axins = ax.inset_axes([0.15, 0.5, 0.3, 0.35])
axins.plot(x, np.sin(x), 'b-')
axins.set_xlim(3, 5)
axins.set_ylim(-1.2, 1.2)
axins.set_title('Zoomed Region')
axins.grid(True, alpha=0.3)

# メインのグラフに埋め込み領域をマーク
ax.indicate_inset_zoom(axins, edgecolor='gray')

ax.set_title('Dual Y-Axes with Inset Zoom', fontsize=14)
plt.show()

よくある質問

グラフが表示されない

を呼び出したか確認してくださいplt.show()。

非インタラクティブバックエンド(Agg など)では明示的に呼び出す必要がありますshow()。

Jupyter Notebook では、を使用します%matplotlib inlineマジックコマンドにより、グラフがインライン表示されるようにします。

目盛りが多すぎる、または順序が乱れる

よくある原因は、文字列リストを(数値や日時ではなく)データとして渡していることです。

Matplotlib は文字列リストをカテゴリ変数として扱い、一意の値ごとに1つの目盛りを作成し、出現順に並べます。

解決方法:文字列を数値に変換します。例:np.asarray(data, dtype='float') 或 np.asarray(data, dtype='datetime64[s]')。

中国語が四角い枠で表示される

Matplotlib のデフォルトフォント(DejaVu Sans)には中国語のグリフが含まれていないため、中国語をサポートするフォントを指定する必要があります。

設定plt.rcParams['font.sans-serif'] = ['SimHei', 'Arial Unicode MS', ...]また、そのシステムに当該フォントがインストールされていることを確認してください。

ラベルが重なる、または切り詰められる

Figure を作成する際に使用することを推奨します。layout='constrained' 或 layout='compressed'パラメータを使用すると、ラベル・タイトル・凡例の重なりを自動的に処理できます。

また、使用することもできます。fig.tight_layout() 或 fig.subplots_adjust()手動で調整します。

pcolor と pcolormesh の違い

pcolor()PolyCollection を作成し、レンダリングは遅いですが、より正確です。

pcolormesh()QuadMesh を作成し、レンダリング速度が速いため、ほとんどのシナリオで推奨される選択肢です。

非常に大きなグリッドの場合、pcolorfast()imshow 方式で描画すると、速度は最速ですが精度は最低です。


関連リソース

  • Matplotlib 公式サイト:matplotlib.org
  • 公式ギャラリー:matplotlib.org/stable/gallery/index.html
  • API 完全リファレンス:matplotlib.org/stable/api/index.html
  • インストールガイド:matplotlib.org/stable/install/index.html
  • コントリビューションガイド:matplotlib.org/stable/devel/index.html
その他の拡張機能