Python
 Computer >> コンピューター >  >> プログラミング >> Python

【Python・pandas】グループ化された水平棒グラフをプロットし、すべての列を表示する方法

pandasのDataFrameからグループ化された水平棒グラフを作成し、すべての列を一度に表示したい場合は、plot.barh()メソッドを使います。x軸・y軸の値を個別に指定しないことで、DataFrame内の数値型の列が自動的に検出され、それぞれがグループ化された状態で描画されます。

必要なライブラリのインポート

まず、データ操作用のpandasと、グラフ描画用のmatplotlibをインポートします。

import pandas as pd
import matplotlib.pyplot as plt

サンプル用のDataFrameを作成する

ここでは、「車種名」「排気量」「登録価格」の3つの列を持つDataFrameを作成します。

dataFrame = pd.DataFrame({
    "Car": ['Bentley', 'Lexus', 'BMW', 'Mustang', 'Mercedes', 'Jaguar'],
    "Cubic_Capacity": [2000, 1800, 1500, 2500, 2200, 3000],
    "Reg_Price": [7000, 1500, 5000, 8000, 9000, 6000]
})

この例では、文字列型の「Car」列はラベルとして扱われ、数値型の「Cubic_Capacity」と「Reg_Price」の2列がグループ化されて棒グラフに描画されます。

グループ化された水平棒グラフをプロットする

plot.barh()を呼び出すだけで、すべての数値列がまとめて水平棒グラフとして表示されます。title引数でグラフのタイトルを、color引数で各系列の色を指定できます。

dataFrame.plot.barh(title='Car Specifications', color=("blue", "orange"))
  • title: グラフ上部に表示されるタイトルを指定します。
  • color: 列ごとのバーの色をタプル形式で指定します。ここでは1列目が青、2列目がオレンジになります。

完全なコード例

以下に、実行可能な完全なコードを示します。

import pandas as pd
import matplotlib.pyplot as plt

# DataFrameの作成
dataFrame = pd.DataFrame({
    "Car": ['Bentley', 'Lexus', 'BMW', 'Mustang', 'Mercedes', 'Jaguar'],
    "Cubic_Capacity": [2000, 1800, 1500, 2500, 2200, 3000],
    "Reg_Price": [7000, 1500, 5000, 8000, 9000, 6000]
})

# すべての列を含むグループ化された水平棒グラフをプロット
dataFrame.plot.barh(title='Car Specifications', color=("blue", "orange"))

# グラフを表示
plt.show()

実行結果

上記のコードを実行すると、車種ごとに「Cubic_Capacity」と「Reg_Price」の2系列が並んで表示される、グループ化された水平棒グラフが出力されます。縦軸には車種名、横軸には各値が表示され、凡例によってどの色がどの列に対応しているかがひと目でわかります。

【Python・pandas】グループ化された水平棒グラフをプロットし、すべての列を表示する方法

補足:グラフを見やすくカスタマイズする

実際のデータ分析では、以下のようなオプションを追加すると、より見やすいグラフになります。

ax = dataFrame.plot.barh(title='Car Specifications', color=("blue", "orange"), figsize=(10, 6))
ax.set_xlabel("値")
ax.set_ylabel("車種")
plt.tight_layout()
plt.show()
  • figsize: グラフ全体のサイズを調整できます。
  • set_xlabel / set_ylabel: 軸ラベルを日本語で明示できます。
  • tight_layout(): ラベルやタイトルが重ならないよう自動調整します。
  1. PythonでPandas DataFrameを棒グラフとして可視化する方法

    データ分析において、PandasのDataFrameを視覚的に表現することは非常に重要です。この記事では、CSVファイルから読み込んだデータをmatplotlibを使って棒グラフ(バーチャート)として表示する方法を解説します。 前提条件:サンプルデータ 今回は以下のような内容のCSVファイル(SalesData.csv)を使用します。 Car Reg_Price 0 BMW 2000 1 Lexus 1500 2 Audi 1500 3 Jaguar 2000 4 Mustang

  2. Python PandasでDataFrameの複数のデータ列をプロットする方法

    PythonのPandasライブラリを使えば、DataFrameに含まれる複数のデータ列を簡単に可視化できます。本記事では、plot()メソッドを使用し、kindパラメータをbarに設定することで、複数の列を1つの棒グラフとして描画する方法を解説します。必要なライブラリのインポートまず、PandasとMatplotlibという2つの必須ライブラリをインポートします。Pandasはデータ操作を、Matplotlibはグラフの表示を担当します。import pandas as pd import matplotlib.pyplot as mpサンプルデータの準備ここでは、各チームのランキングポイン