Pandasのプロット関数からmatplotlib.figure.Figureオブジェクトを取得する方法
Pandasのplot()関数でグラフを作成すると、戻り値としてmatplotlibのAxesオブジェクトが返されます。このAxesオブジェクトに対してget_figure()メソッドを呼び出すことで、matplotlib.figure.Figureオブジェクトを簡単に取得できます。以下にその具体的な手順を紹介します。
実装の手順
plt.rcParamsで図のサイズ(figure size)を設定し、figure.autolayoutを有効にしてサブプロット間および周囲の余白を自動調整します。- Pandasのデータフレーム
dfを作成します。 barh()メソッドを使って水平棒グラフを描画します。ax.get_figure()で現在のFigureインスタンスを取得します。legend(loc='lower right')で軸の右下に凡例を配置します。plt.show()メソッドで図を表示します。
サンプルコード
from matplotlib import pyplot as plt
import pandas as pd
# 図のサイズとレイアウトの自動調整を設定
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
# データフレームを作成
df = pd.DataFrame({'a': range(10)})
# 水平棒グラフを描画
ax = df.plot.barh(color=(1, 0, 0, 0.25))
# Figureオブジェクトを取得
fig = ax.get_figure()
# 右下に凡例を配置
ax.legend(loc='lower right')
plt.show()
コードのポイント
df.plot.barh() の戻り値であるAxesオブジェクトを変数 ax に格納し、そこから get_figure() を呼び出してFigureオブジェクトを取得しています。このようにして得られた fig は、その後の保存(savefig())やレイアウト調整など、Figureレベルの操作に自由に利用できます。
出力結果

-
Matplotlibのプロットからデータを抽出する方法|get_xdata・get_ydataの使い方
Matplotlibで作成したプロットから元のデータを取り出したい場合、get_xdata() メソッドと get_ydata() メソッドを使うことで簡単に実現できます。これらのメソッドは、プロットされたLine2DオブジェクトからX軸・Y軸のデータポイントをそれぞれ取得します。実行手順図のサイズを設定し、サブプロット間および周囲の余白(パディング)を調整します。numpy を使って y のデータポイントを作成します。y のデータポイントを color=red(赤色)・linewidth=5(線幅5)でプロットします。データ抽出の開始を示すメッセージを出力します。get_xdata() と
-
PandasのSeriesデータをMatplotlibで棒グラフとして描画する方法
Matplotlibを使ってPandasのSeriesやDataFrameから棒グラフを描画するのは非常に簡単です。本記事では、基本的な手順とサンプルコードを通じて、その方法をわかりやすく解説します。 棒グラフを描画する基本手順 辞書の作成: 1から10までの範囲の値を持つ、複数のキーからなる辞書を作成します。各キーがグラフの系列名になります。 DataFrameの作成: 作成した辞書をもとに、PandasのDataFrameを生成します。 棒グラフの作成: plot()メソッドにkind=barを指定して棒グラフを描画します。 図の表示: show()メソッドを呼び出して、作成したグラフを