MatplotlibでPandasのデータフレームを円グラフとして描画する方法
Matplotlibを使ってPandasのデータフレームを円グラフ(パイチャート)として可視化するには、以下の手順に従います。
- 図のサイズを設定し、サブプロット間および周囲の余白を調整します。
- 2次元の、サイズ変更可能で異なる型を含みうる表形式データからデータフレームを作成します。
- 「activities」列をインデックスに設定し、pie()メソッドを使ってデータフレームを描画します。
- 図を表示するにはshow()メソッドを使用します。
コード例
import pandas as pd
from matplotlib import pyplot as plt
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
df = pd.DataFrame({'activities': ['sleep', 'exercise', 'work', 'study'],
'hours': [8, 1, 9, 6]})
df.set_index('activities').plot.pie(y='hours', legend=False,
autopct='%1.1f%%')
plt.show()解説
このコードでは、まずrcParamsを使って図のサイズを7.50×3.50インチに設定し、レイアウトを自動調整するようにしています。
次に、1日の活動(睡眠・運動・仕事・勉強)とそれぞれの時間からなるデータフレームを作成します。set_index('activities')で「activities」列をインデックスに設定することで、円グラフの各スライスに活動名がラベルとして表示されます。
plot.pie()メソッドでは、以下の引数を指定しています。
- y='hours':円グラフの値として「hours」列を使用します。
- legend=False:凡例を非表示にします(ラベルが直接表示されるため)。
- autopct='%1.1f%%':各スライスに小数点以下1桁の割合を自動表示します。
出力結果

実行すると、各活動が占める時間の割合がパーセンテージ付きの円グラフとして表示されます。このようにPandasのplot機能とMatplotlibを組み合わせれば、わずか数行のコードでデータフレームを直感的な円グラフに変換できます。
-
MatplotlibでiPythonノートブックの図をファイルとして保存する方法
iPythonノートブック上で作成した図(グラフ)を画像ファイルとして保存したい場合、Matplotlibの機能を使えば簡単に実現できます。ここでは、基本的な手順とサンプルコードを紹介します。 図をファイルに保存する手順 iPythonから図をファイルとして保存するには、以下の手順を実行します。 plt.figure() で新しい図を作成するか、既存の図をアクティブにします。 add_axes() メソッドを使って、図に axes(座標軸)を追加します。 プロットしたいデータ(リストなど)を plot() で描画します。 savefig() メソッドを使って、図をファイルとして保存します。
-
PythonでPandasのデータフレームを使ってmatplotlib散布図を作成する方法
散布図は、2つの変数間の関係を視覚的に把握するのに非常に便利なグラフです。Pandasを使えばデータフレームを簡単に作成でき、さらにsubplots()メソッドで図(fig)と軸(ax)の変数を生成できます。その後、ax.scatter()メソッドを呼び出すことで、目的の散布図を描画することが可能です。 手順 生徒数のリストを作成します。 生徒が取得した点数のリストを作成します。 各散布点の色を表現するために、色のリストを用意します。 Pandasを使って、データフレームの軸となるデータをリストとして定義します。 subplots()メソッドでfig変数とax変数を作成します。デフォルトでは