Matplotlib で棒グラフの幅パラメーターを設定する

Salman Mehmood 2024年2月15日
Matplotlib で棒グラフの幅パラメーターを設定する

このデモでは、棒グラフについて説明し、Matplotlib の棒関数の幅パラメーターを見ていきます。

Matplotlib で棒グラフの幅パラメーターを設定する

棒グラフは、さまざまな高さの棒を使用してデータをグラフィカルに表示したものです。 この棒グラフを使用して、さまざまな種類のデータを比較できます。

棒グラフを作成するには、Matplotlib の bar() 関数を使用できます。 この関数の構文を見てみましょう。

構文:

bar(x, height, width=0.8, bottom=None, align="center", data=None, **kwargs)

bar() にはいくつかのパラメーターがあります。 最初の 2つのパラメータ xheight は必須です。

これらのパラメーターを使用して棒グラフを作成し、残りのパラメーターにはデフォルト値が含まれていると役立ちます。 このチュートリアルでは、width パラメータについて説明します。

xheight を定義し、x は x 座標値です。 x をスカラーのシーケンスとして取ることができます。

2 番目のパラメータは height です。 また、スカラーのシーケンスとして取得することもできます。

コースに登録している学生の数を表す棒グラフを描く例を見てみましょう。 X 座標のランダム リストを作成し、高さのリストを作成します。

x1 = ["Science", "Commerce", "Arts"]
h = [200, 300, 500]

これで、デフォルトの幅の値でプロットが表示されます。

コード:

import matplotlib.pyplot as plot

x1 = ["Science", "Commerce", "Arts"]
h = [200, 300, 500]

plot.bar(x1, h)
plot.xlabel("Courses")
plot.ylabel("Students Enrolled")
plot.title("Students Enrolled for different courses")
plot.show()

バーの幅がデフォルト値の 0.8 になっていることがわかります。

出力:

matplotlib で棒グラフの幅パラメータを設定

width を変更したい場合は、浮動小数点数を渡すことができます。 width はバーの幅で、スカラー値もとります。

コード:

import matplotlib.pyplot as plot

x1 = ["Science", "Commerce", "Arts"]
h = [200, 300, 500]

plot.bar(x1, h, 0.4)
plot.xlabel("Courses")
plot.ylabel("Students Enrolled")
plot.title("Students Enrolled for different courses")
plot.show()

次の図では、幅が変更されていることがわかります。

出力:

棒グラフの幅を変更する浮動小数点数を渡す

width 引数を使用して幅を指定する別の方法があります。

plot.bar(x1, h, width=0.4)

対応するバーを含むさまざまな幅のリストを渡すこともできます。

コード:

import matplotlib.pyplot as plot

x1 = ["Science", "Commerce", "Arts"]
h = [200, 300, 500]
w = [0.2, 0.3, 0.4]

plot.bar(x1, h, width=w)
plot.xlabel("Courses")
plot.ylabel("Students Enrolled")
plot.title("Students Enrolled for different courses")
plot.show()

ここでは、さまざまなコースのさまざまな幅を参照してください。

出力:

対応するバーで異なる幅のリストを渡す

バーのデフォルトの配置は中央です。 "edge"align 引数に渡すと、左揃えが表示されます。

右側でこの配置を行いたい場合は、幅を負の値にする必要があります。

コード:

import matplotlib.pyplot as plot

x1 = ["Science", "Commerce", "Arts"]
h = [200, 300, 500]

plot.bar(x1, h, width=-0.4, align="edge")
plot.xlabel("Courses")
plot.ylabel("Students Enrolled")
plot.title("Students Enrolled for different courses")
plot.show()

出力:

matplotlib のバーの配置を変更

著者: Salman Mehmood
Salman Mehmood avatar Salman Mehmood avatar

Hello! I am Salman Bin Mehmood(Baum), a software developer and I help organizations, address complex problems. My expertise lies within back-end, data science and machine learning. I am a lifelong learner, currently working on metaverse, and enrolled in a course building an AI application with python. I love solving problems and developing bug-free software for people. I write content related to python and hot Technologies.

LinkedIn

関連記事 - Matplotlib Bar Chart