首頁 > 後端開發 > Python教學 > 如何將堆疊長條圖中的資料標籤置中?

如何將堆疊長條圖中的資料標籤置中?

Linda Hamilton
發布: 2024-11-16 10:20:03
原創
892 人瀏覽過

How to Center Data Labels in Stacked Bar Charts?

有居中標籤的堆疊條形圖

問題:
嘗試將資料標籤置於堆疊長條中心圖表可能具有挑戰性,因為簡單地將標籤居中可能不會產生完美的結果。

解決方案1:使用bar_label() 繪製Pandas 條形圖

  • 利用pandas .DataFrame.plot.bar() 或pandas.DataFrame.plot (kind='bar', stacked=True) 方法。
  • 使用matplotlib.pyplot.bar_label() 函數自動將標籤居中

解決方案2:使用矩形屬性明確標記

    解決方案2:使用矩形屬性明確標記

  • 使用ax.patches 存取每個部分的matplotlib.patches.Rectangle 物件。
  • 計算每個矩形的高度、寬度、x 座標和 y 座標。
  • 使用 f 字串建立標籤,如果需要,也可以包含其他文字。
使用 ax.text() 繪製標籤,將它們對齊到對應矩形的中心。

解 3:Seaborn Histplot
  • 轉換使用 pandas.melt() 將資料幀轉換為長格式。
  • 使用 seaborn.histplot() 或 seaborn.displot() 進行繪圖,參數為 multiple='stack' 和離散=True。
使用 ax.containers 存取補丁,並按照解決方案 2 中的方式繼續建立和放置標籤。 解決方案說明:自訂標籤使用ax.bar_label(c, labels=labels, label_type='center') 進行小分段,其中labels 是與每個矩形對應的標籤清單。 使用 fmt=lambda x: f'{x: .0f}' 以在解 1 中顯示沒有小數位的數字。 對於水平堆疊長條圖,請在 pandas.plot() 中使用 kind='barh' 並相應地修改標籤計算。

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

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板