ホームページ > バックエンド開発 > Python チュートリアル > 「テキスト」と「注釈」を使用して Matplotlib 棒グラフに値ラベルを追加する方法

「テキスト」と「注釈」を使用して Matplotlib 棒グラフに値ラベルを追加する方法

Linda Hamilton
リリース: 2024-12-30 12:28:17
オリジナル
504 人が閲覧しました

How to Add Value Labels to Matplotlib Bar Charts Using 'text' and 'annotate'?

値を使用した棒グラフのラベル付け

概要

棒グラフは、データ分布を視覚化するのに便利な方法です。場合によっては、追加のコンテキストを提供するためにバーに値ラベルを含めることが重要です。この記事では、matplotlib を使用して棒グラフに値ラベルを追加する 2 つの方法、'text' と 'annotate' について説明します。

値ラベルに 'text' を使用する

「text」メソッドを使用すると、指定した座標でプロットにテキストを追加できます。これを値ラベルに使用するには、次の手順に従います。

  1. 棒グラフをプロットします。
  2. ax.patches メンバーから棒パッチのリストを取得します。
  3. パッチを反復処理して、各バーの位置と高さを取得します。
  4. ax.text を使用して値ラベルのテキストを追加します。目的の位置 (バーの中心など)。

値ラベルに 'annotate' を使用する

'annotate' メソッドは 'text' に似ています。ただし、配置と書式設定の柔軟性が向上します。これを値ラベルに使用するには、次の手順に従います。

  1. ax.patches メンバーからバー パッチのリストを取得します。
  2. パッチを反復処理して、各バーの位置を取得し、高さ。
  3. 注釈テキストとバーに対する相対的な位置を定義します。
  4. を使用します。 ax.annotate を使用して、プロットに注釈を追加します。

コード例

「text」メソッドを使用した例を次に示します。

import matplotlib.pyplot as plt

# Data
x_labels = [1, 2, 3, 4, 5]
values = [10, 20, 30, 40, 50]

# Plot
plt.figure(figsize=(12, 8))
ax = plt.bar(x_labels, values)

# Add value labels
rects = ax.patches
for rect, value in zip(rects, values):
    x = rect.get_x() + rect.get_width() / 2
    y = rect.get_height() + 5
    ax.text(x, y, f"{value}", ha="center", va="bottom")

plt.show()
ログイン後にコピー

これは「annotate」を使用した例ですメソッド:

import matplotlib.pyplot as plt

# Data
x_labels = [1, 2, 3, 4, 5]
values = [10, 20, 30, 40, 50]

# Plot
plt.bar(x_labels, values)

# Add value labels
for x, y in zip(x_labels, values):
    ax.annotate(f"{y}", xy=(x, y), xytext=(0, 10), textcoords="offset points", ha="center", va="bottom")

plt.show()
ログイン後にコピー

どちらのメソッドも、棒グラフに値ラベルを追加する簡単な方法を提供し、視覚的な明瞭さを高め、重要な情報を視聴者に伝えます。

以上が「テキスト」と「注釈」を使用して Matplotlib 棒グラフに値ラベルを追加する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート