ホームページ > バックエンド開発 > Python チュートリアル > 積み上げ棒グラフでデータ ラベルを中央に配置するにはどうすればよいですか?

積み上げ棒グラフでデータ ラベルを中央に配置するにはどうすればよいですか?

Linda Hamilton
リリース: 2024-11-16 10:20:03
オリジナル
891 人が閲覧しました

How to Center Data Labels in Stacked Bar Charts?

ラベルが中央に配置された積み上げ棒グラフ

問題:
積み上げ棒のデータ ラベルを中央に配置しようとしています単にラベルを中央に配置するだけでは完璧な結果が得られない可能性があるため、チャートは難しい場合があります。

解決策 1: bar_label() を使用したパンダの棒グラフ

  • パンダを利用する.DataFrame.plot.bar() または pandas.DataFrame.plot(kind='bar', stacked=True) メソッド。
  • matplotlib.pyplot.bar_label() 関数を使用して、ラベルを自動的に中央揃えにします。 bar.

解決策 2: Rectangle プロパティを使用した明示的なラベル付け

  • ax.patches を使用して、各セクションの matplotlib.patches.Rectangle オブジェクトにアクセスします。
  • 各四角形の高さ、幅、X 座標、Y 座標を計算します。
  • 必要に応じて追加のテキストを含め、F 文字列を使用してラベルを作成します。
  • ax.text() を使用してラベルをプロットし、対応する四角形の中心に揃えます。

解決策 3: Seaborn Histplot

  • Convert pandas.melt().
  • を使用してデータフレームを長い形式に変換します。seaborn.histplot() または seaborn.displot() をパラメータ multiple='stack' および discrete=True でプロットします。 >ax.containers を使用してパッチにアクセスし、解決策 2 と同様にラベルの作成と配置を進めます。
解決策のメモ:

ラベルのカスタマイズax.bar_label(c, labels=labels, label_type='center') を使用して小さなセグメントを作成します。ここで、labels は各四角形に対応するラベルのリストです。
  • Use fmt=lambda x: f'{x: .0f}' を使用して、解決策 1 で小数点以下の桁なしで数値を表示します。
  • 水平積み上げ棒の場合、pandas.plot() で kind='barh' を使用し、それに応じてラベル計算を変更します。

以上が積み上げ棒グラフでデータ ラベルを中央に配置するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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