【Python入門】MatplotlibでPandasデータフレームを可視化する方法(折れ線グラフ・円グラフ・ヒストグラム)
Pandasのデータフレーム(DataFrame)は、Matplotlibと組み合わせることで、折れ線グラフ・円グラフ・ヒストグラムなど、さまざまな種類のグラフを簡単に描画できます。
まずは、PandasとMatplotlibのライブラリをインポートしましょう。
import pandas as pd import matplotlib.pyplot as plt
それでは、実際に各グラフの描画方法を見ていきましょう。
折れ線グラフの描き方
サンプルコード
以下は、2列のデータを持つデータフレームから折れ線グラフを作成するコードです。
import pandas as pd
import matplotlib.pyplot as plt
# 2列のデータフレームを作成
dataFrame = pd.DataFrame(
{
"Car": ['BMW', 'Lexus', 'Audi', 'Mustang', 'Bentley', 'Jaguar'],
"Reg_Price": [2000, 2500, 2800, 3000, 3200, 3500],
"Units": [100, 120, 150, 170, 180, 200]
}
)
# 折れ線グラフを描画
plt.plot(dataFrame["Reg_Price"], dataFrame["Units"])
plt.show()このコードでは、plt.plot() の第1引数にX軸の値(登録価格)、第2引数にY軸の値(販売台数)を指定しています。
実行結果
上記のコードを実行すると、次のような折れ線グラフが出力されます。

円グラフの描き方
サンプルコード
次に、登録価格(Reg_Price)のデータをもとに円グラフを描画する例です。ラベルには車名(Car)の列を指定します。
import pandas as pd
import matplotlib.pyplot as plt
# データフレームを作成
dataFrame = pd.DataFrame({
"Car": ['BMW', 'Lexus', 'Tesla', 'Mustang', 'Mercedes', 'Jaguar'],
"Reg_Price": [7000, 1500, 5000, 8000, 9000, 6000]
})
# 登録価格の列で円グラフを描画し、車名の列をラベルとして設定
plt.pie(dataFrame["Reg_Price"], labels = dataFrame["Car"])
plt.show()plt.pie() の labels 引数に車名の列を渡すことで、各区画に対応するラベルが自動的に表示されます。
実行結果
上記のコードを実行すると、次のような円グラフが出力されます。

ヒストグラムの描き方
サンプルコード
最後に、登録価格の分布を確認するためのヒストグラムを描画する例です。
import pandas as pd
import matplotlib.pyplot as plt
# データフレームを作成
dataFrame = pd.DataFrame({
"Car": ['BMW', 'Lexus', 'Tesla', 'Mustang', 'Mercedes', 'Jaguar'],
"Reg_Price": [7000, 1500, 5000, 8000, 9000, 6000]
})
# 登録価格の列でヒストグラムを描画
plt.hist(dataFrame["Reg_Price"])
plt.show()plt.hist() に数値データの列を渡すだけで、自動的にビン(階級)に分割されたヒストグラムが生成されます。必要に応じて bins 引数でビンの数を調整することも可能です。
実行結果
上記のコードを実行すると、次のようなヒストグラムが出力されます。

まとめ
PandasのデータフレームとMatplotlibを組み合わせれば、わずか数行のコードで折れ線グラフ・円グラフ・ヒストグラムといった基本的なグラフを手軽に作成できます。データ分析の現場では、まずこれらの基本グラフでデータの傾向をつかむことが重要です。ぜひ実際にコードを実行して、さまざまなデータの可視化を試してみてください。
-
Matplotlibでカラーバー付き2D行列をPythonでプロットする方法
Pythonでカラーバー付きの2D行列をプロットするには、numpyを使って2次元配列(行列)を作成し、そのデータをimshow()メソッドに渡すのが最も簡単な方法です。手順numpyを使用して data2D という2次元配列を作成します。imshow() メソッドを使い、データを画像として(2次元の正規ラスタ上に)表示します。colorbar() メソッドに imshow() が返す ScalarMappable インスタンスを渡し、カラーバーを作成します。これにより、色と数値の対応関係がひと目でわかるようになります。図を表示するには、show() メソッドを使用します。コード例import
-
Matplotlibでnumpyのdatetime64型の時系列データをプロットする方法
PythonのMatplotlibを使って時系列データをグラフ化する方法を解説します。日付や時刻のデータ(datetime64型など)は、そのままplot()メソッドに渡すだけで自動的に軸に反映されるため、非常に簡単です。基本的な手順numpyを使ってx(日時)とy(数値)のデータを作成する。plot()メソッドで作成したxとyをプロットする。show()メソッドで図を表示する。サンプルコードimport matplotlib.pyplot as plt import datetime import numpy as np plt.rcParams[figure.figsize] = [7.