ホームページ > バックエンド開発 > Python チュートリアル > Python を使用して積み上げ棒グラフのデータ ラベルを完全に中央に配置する方法

Python を使用して積み上げ棒グラフのデータ ラベルを完全に中央に配置する方法

Susan Sarandon
リリース: 2024-11-19 07:06:02
オリジナル
349 人が閲覧しました

How to Perfectly Center Data Labels in Stacked Bar Charts Using Python?

積み上げ棒グラフでのデータ ラベルの中央揃え

積み上げ棒グラフを作成する場合、データ ラベルがグラフの各セクション内で正しく中央に配置されていることを確認するのが難しい場合があります。バー。この問題は、バーの高さ、バー間の間隔、ラベルのフォント サイズなど、さまざまな理由で発生する可能性があります。

Pandas と Matplotlib.pyplot の使用

この問題に対する堅牢かつ簡潔なアプローチには、Pandas と Matplotlib.pyplot の使用が含まれます。 Pandas はデータを表現および操作するための便利な方法を提供し、Matplotlib.pyplot は視覚化を作成するための強力なツールセットを提供します。このアプローチを使用して積み上げ棒グラフのデータ ラベルを中央に配置する方法は次のとおりです。

  1. プロットするデータを含む Pandas DataFrame を作成します。
  2. .plot(stacked) を使用します。 =True, kind='bar') メソッドで積み上げ棒グラフを生成します。
  3. for c in ax.containers: を使用してプロット内のコンテナーを反復処理します。
  4. fmt=lambda x を使用します。 : f'{x:.0f}' if x > 0 else '' ラベル形式をカスタマイズし、小数点以下の桁を削除し、ゼロ以外の値のみを表示します。
  5. ax.bar_label(c, fmt=fmt) を呼び出して、バーの各セクション内のデータ ラベルを中央に配置します。

Seaborn の使用

Matplotlib 上に構築された高レベル API である Seaborn は、積み上げ棒グラフを作成する別の方法を提供します。 Seaborn は積み上げを直接サポートしていませんが、sns.histplot または sns.displot を使用して積み上げプロットを作成するためのオプションを提供します。

sns.displot を使用した Figure レベルのプロットの場合は、軸を介して反復処理し、次にコンテナーを介して反復処理します。各軸内で。各コンテナーに対して、ax.bar_label(c, fmt=fmt) を使用してデータ ラベルを中央に配置します。

パッチを使用した元のメソッド

Matplotlib.patches.Rectangle オブジェクトを直接操作するメソッドは、積み上げ棒の各セクションの値と位置を抽出するために使用されます。このメソッドには以下が含まれます。

  1. .patches 属性を使用してパッチのリストにアクセスします。
  2. パッチを反復処理し、高さ、幅、X 座標、および Y 座標を抽出します。
  3. 各セクションの中心点を計算し、それに応じてラベルを配置します。
  4. 必要に応じてラベルのテキストをカスタマイズします。

以上がPython を使用して積み上げ棒グラフのデータ ラベルを完全に中央に配置する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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