Pandas DataFrame DataFrame.plot.bar()関数

Minahil Noor 2023年1月30日
  1. pandas.DataFrame.plot.bar() の構文
  2. コード例:DataFrame.plot.bar()
  3. コード例:複数のデータ列を持つ DataFrame.plot.bar()
  4. コード例:サブプロットを作成するための subplots = True を指定する DataFrame.plot.bar()
  5. コード例:単一のデータ列をプロットするための DataFrame.plot.bar()
  6. コード例:指定された色を持つ DataFrame.plot.bar()
Pandas DataFrame DataFrame.plot.bar()関数

Python Pandas DataFrame.plot.bar() 関数は棒グラフをプロットします指定された軸。グラフをカテゴリ別にプロットします。カテゴリは x 軸に与えられ、値は y 軸に与えられます。

pandas.DataFrame.plot.bar() の構文

DataFrame.sample(x=None, y=None, **kwds)

パラメーター

x これは、カテゴリがプロットされる軸です。指定されていない場合、DataFrame のインデックスが使用されます。
y これは、カテゴリーに対してプロットされた値を表します。指定されていない場合は、カテゴリに対して DataFrame のすべての数値列をプロットします。
**kwds これらは、プロットされたグラフをカスタマイズするための追加のキーワード引数です。これらはこちらで確認できます。

戻り値

N 次元の配列を返します。subplots = True の場合、列ごとに matplotlib.axes.Axes を含む N 次元の配列を返します。

コード例:DataFrame.plot.bar()

まず、簡単な DataFrame を使用してこの関数を理解しましょう。

import pandas as pd
dataframe = pd.DataFrame({'Value':[100, 200, 300]})
print(dataframe)

DataFrame は次のようになります

 Value
0  100
1  200
2  300

この関数のすべてのパラメーターはオプションです。パラメータを渡さずにこの関数を実行すると、インデックスが X 軸、数値データ列が Y 軸になります。

import pandas as pd
import matplotlib.pyplot as plt

dataframe = pd.DataFrame({"Value": [100, 200, 300]})
axis = dataframe.plot.bar(rot=0)
print(axis)
plt.show()

出力:

AxesSubplot(0.125,0.125;0.775x0.755)

Pandas DataFrame.plot.bar Basic

パラメータ rot は追加のキーワードパラメータです。X 軸上のカテゴリ名の回転を変更します。

rot を設定しない場合、プロットは以下のようになります。

Pandas DataFrame.plot.bar Basic-腐敗しない

コード例:複数のデータ列を持つ DataFrame.plot.bar()

次に、DataFrame を複雑なものに変更します。

import pandas as pd

dataframe = pd.DataFrame(
    {
        "Age": [23, 17, 40, 38, 24, 12, 45],
        "Avg Age in Family": [70, 65, 80, 55, 60, 63, 90],
    },
    index=["Olivia", "John", "Laura", "Ben", "Kevin", "Robin", "Elsa"],
)
print(dataframe)

DataFrame は次のようになります

        Age  Avg Age in Family
Olivia   23                 70
John     17                 65
Laura    40                 80
Ben      38                 55
Kevin    24                 60
Robin    12                 63
Elsa     45                 90

DataFrame.plot.bar() 関数を使用してこの DataFrame をプロットします

import pandas as pd
import matplotlib.pyplot as plt

dataframe = pd.DataFrame(
    {
        "Age": [23, 17, 40, 38, 24, 12, 45],
        "Avg Age in Family": [70, 65, 80, 55, 60, 63, 90],
    },
    index=["Olivia", "John", "Laura", "Ben", "Kevin", "Robin", "Elsa"],
)
axis = dataframe.plot.bar(rot=0)
print(axis)
plt.show()

出力:

AxesSubplot(0.125,0.125;0.775x0.755)

複数の列を持つ Pandas DataFrame.plot.bar

各カテゴリの数値データの 2つの棒を含む棒グラフを生成します。データを効率的に分析するのに役立ちます。

コード例:サブプロットを作成するための subplots = True を指定する DataFrame.plot.bar()

subplots = True の場合、関数は列ごとに matplotlib.axes.Axes を含む N 次元の 配列を返します。これを使用して、データ列を単一のプロットではなく、異なるサブプロットに分離できます。

import pandas as pd
import matplotlib.pyplot as plt

dataframe = pd.DataFrame(
    {
        "Age": [23, 17, 40, 38, 24, 12, 45],
        "Avg Age in Family": [70, 65, 80, 55, 60, 63, 90],
    },
    index=["Olivia", "John", "Laura", "Ben", "Kevin", "Robin", "Elsa"],
)
axes = dataframe.plot.bar(rot=0, subplots=True)
print(axes)
plt.show()

出力:

[<matplotlib.axes._subplots.AxesSubplot object at 0x0000029A89B06DC8>
 <matplotlib.axes._subplots.AxesSubplot object at 0x0000029A89B4B2C8>]

Pandas DataFrame.plot.bar サブプロット

コード例:単一のデータ列をプロットするための DataFrame.plot.bar()

import pandas as pd
import matplotlib.pyplot as plt

dataframe = pd.DataFrame(
    {
        "Age": [23, 17, 40, 38, 24, 12, 45],
        "Avg Age in Family": [70, 65, 80, 55, 60, 63, 90],
    },
    index=["Olivia", "John", "Laura", "Ben", "Kevin", "Robin", "Elsa"],
)
axis = dataframe.plot.bar(y="Age", rot=0)
print(axis)
plt.show()

出力:

AxesSubplot(0.125,0.125;0.775x0.755)

Pandas DataFrame.plot.bar 単一列プロット

インデックスをカテゴリとしてプロットする代わりに、他の列に対してデータ列をプロットすることもできます。

import pandas as pd
import matplotlib.pyplot as plt

dataframe = pd.DataFrame(
    {
        "Age": [23, 17, 40, 38, 24, 12, 45],
        "Avg Age in Family": [70, 65, 80, 55, 60, 63, 90],
    },
    index=["Olivia", "John", "Laura", "Ben", "Kevin", "Robin", "Elsa"],
)
axis = dataframe.plot.bar(x="Age", rot=0)
print(axis)
plt.show()

出力:

AxesSubplot(0.125,0.125;0.775x0.755)

Pandas DataFrame.plot.bar-X 軸として 1つの列を使用

コード例:指定された色を持つ DataFrame.plot.bar()

import pandas as pd
import matplotlib.pyplot as plt

dataframe = pd.DataFrame(
    {
        "Age": [23, 17, 40, 38, 24, 12, 45],
        "Avg Age in Family": [70, 65, 80, 55, 60, 63, 90],
    },
    index=["Olivia", "John", "Laura", "Ben", "Kevin", "Robin", "Elsa"],
)
axis = dataframe.plot.bar(rot=0, color="m")
plt.show()

Pandas DataFrame.plot.bar-異なる列の単一色

DataFrame のすべての列の色 m を指定します。

import pandas as pd
import matplotlib.pyplot as plt

dataframe = pd.DataFrame(
    {
        "Age": [23, 17, 40, 38, 24, 12, 45],
        "Avg Age in Family": [70, 65, 80, 55, 60, 63, 90],
    },
    index=["Olivia", "John", "Laura", "Ben", "Kevin", "Robin", "Elsa"],
)
axis = dataframe.plot.bar(rot=0, color=["r", "b"])
print(axis)
plt.show()

Pandas DataFrame.plot.bar-列ごとに異なる色

また、color パラメータにカラーリストを指定することで、DataFrame の異なる列に異なる色を指定することもできます。

関連記事 - Pandas DataFrame

関連記事 - Pandas DataFrame Plot