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

Matplotlibで棒グラフのバーにテキストを表示する方法

Matplotlibの棒グラフで、各バーの上にテキスト(数値やラベルなど)を表示したい場合は、text()メソッドを使用します。このメソッドを使うことで、グラフ上の任意の位置(x座標・y座標)を指定して、自由にテキストを配置できます。

実装の手順

  • x軸のラベル、y軸の値、そしてpercentage(パーセント値)のリストをそれぞれ作成します。

  • bar()メソッドを使って棒グラフを描画します。

  • zip()関数で3つのリストをまとめ、for文で反復処理しながら各バーの位置にテキストを配置します。

  • 最後にshow()メソッドを呼び出して図を表示します。

コード例

import matplotlib.pyplot as plt

plt.rcParams['figure.figsize'] = [7.00, 3.50]
plt.rcParams['figure.autolayout'] = True

x = ['A', 'B', 'C', 'D', 'E']
y = [1, 3, 2, 0, 4]
percentage = [10, 30, 20, 0, 40]

ax = plt.bar(x, y)

for x, y, p in zip(x, y, percentage):
    plt.text(x, y, p)

plt.show()

実行結果

Matplotlibで棒グラフのバーにテキストを表示する方法


コードの解説

plt.text()は、第1引数にx座標、第2引数にy座標、第3引数に表示したい文字列を指定します。zip()関数を使うことで、複数のリストから要素を同時に取り出せるため、各バーの頂点(x, y)の位置に対応するパーセント値を効率よく配置できます。

テキストを見やすく調整するポイント

テキストをバーの中央に揃えたい場合は、ha='center'(水平方向の配置)やva='bottom'(垂直方向の配置)といったオプションを追加すると便利です。また、fontsize引数でフォントサイズを、color引数で文字色を変更することも可能です。

  1. 【Python Matplotlib】棒グラフの各バーの上にテキスト(数値ラベル)を表示する方法

    Matplotlibで作成した棒グラフの各バーの上に、その値を示すテキスト(数値ラベル)を表示すると、グラフが格段に読みやすくなります。この記事では、bar()メソッドとtext()メソッドを組み合わせて、バーの上にテキストを配置する方法を解説します。 実装の手順 図のサイズを設定し、サブプロット間および周囲のパディングを調整します。 年(years)、人口(population)、x座標のリストを作成し、バーの幅を表す変数を初期化します。 subplots()メソッドを使用して、図とサブプロットのセットを作成します。 y軸ラベル、タイトル、x目盛りの位置(xticks)とラベル(xtick

  2. Pythonのmatplotlibで積み上げ棒グラフを作成・表示する方法

    Matplotlibは、Pythonで最も広く使われているデータ可視化ライブラリの一つです。データの可視化は、数値を一つずつ確認したり複雑な計算を行ったりすることなく、データ全体の傾向や特徴を直感的に把握するために欠かせないステップです。また、定量的な洞察を効果的に伝える手段としても非常に有用です。 Matplotlibは、データをもとに2次元のグラフやプロットを作成するために使用されます。オブジェクト指向のAPIを備えており、作成したグラフをPythonアプリケーションに組み込むことも可能です。IPythonシェル、Jupyter Notebook、Spyder IDEなど、さまざまな環境で