首頁  >  文章  >  後端開發  >  如何使用 Python 將堆疊長條圖中的資料標籤完美居中?

如何使用 Python 將堆疊長條圖中的資料標籤完美居中?

Susan Sarandon
Susan Sarandon原創
2024-11-19 07:06:02301瀏覽

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. 使用ax.containers 中的for c 迭代圖中的容器:.
  4. 使用fmt=lambda x : f'{x:.0f}' 如果x > 0 else '' 自定義標籤格式,刪除小數位並僅顯示非零值。
  5. 呼叫 ax.bar_label(c, fmt=fmt) 將資料標籤在長條圖的每個部分中居中。

使用 Seaborn

Seaborn 是一個基於 Matplotlib 構建的高級 API,提供了另一種創建堆積條形圖的方法。儘管 Seaborn 不直接支援堆疊,但它提供了使用 sns.histplot 或 sns.displot 建立堆疊圖的選項。

對於使用 sns.displot 的圖形級繪圖,請遍歷軸,然後遍歷容器每個軸內。對於每個容器,使用 ax.bar_label(c, fmt=fmt) 將資料標籤置中。

帶有補丁的原始方法

直接與 Matplotlib.patches.Rectangle 物件一起使用的方法可以用於提取堆疊條的每個部分的值和位置。此方法涉及:

  1. 使用 .patches 屬性存取補丁清單。
  2. 迭代補丁並提取高度、寬度、x 座標和 y 座標。
  3. 計算每個部分的中心點並相應地放置標籤。
  4. 根據需要自訂標籤文字。

以上是如何使用 Python 將堆疊長條圖中的資料標籤完美居中?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn