Python使用matplotlib給柱狀圖添加數據標簽bar_label()

0.更新matplotlib庫

本文後續的實驗過程都是基於matplotlib版本大於等於3.4.1,如果版本較低,是無法實行後續操作的,如何在Pycharm中直接更新matplotlib庫的版本,請參照方法:以tensorflow庫為例用Pycharm更新第三方庫

1.導入庫

直接導入matplotlib.pyplot庫,代碼為:

import matplotlib.pyplot as plt

2.數據準備

用list分別準備橫坐標和縱坐標的數據。

# 構造數據
X_set = [1, 2, 3, 4, 5]  # X軸數值
Y_set = [128, 211, 136, 234, 150]  # Y軸數據

3.繪制柱狀圖

繪圖代碼如下:

p1 = plt.bar(X_set, Y_set, width= 0.35, label='value')  # width表示柱子的寬度
plt.bar_label(p1, label_type='edge')   # label_type=‘edge'表示將數據值標簽放在柱子頂端,label_type=‘center'表示將數據值標簽放在柱子中間。
plt.title('The distribution of XXX')
plt.show()

4.繪圖結果

上述繪圖結果如下:

5.完整代碼

完整代碼如下:

import matplotlib.pyplot as plt

# 構造數據
X_set = [1, 2, 3, 4, 5]
Y_set = [128, 211, 136, 234, 150]
p1 = plt.bar(X_set, Y_set, width= 0.35, label='value')
plt.bar_label(p1, label_type='edge')
plt.title('The distribution of XXX')
plt.show()

6.bar_label()相關參數的補充說明

函數的簽名為matplotlib.pyplot.bar_label(container, labels=None, *, fmt='%g', label_type='edge', padding=0, **kwargs)

函數的參數為:

  • (1)container:柱子的容器對象,通常為bar或barh函數返回值。 .BarContainer對象。必備參數。
  •  (2)labels : 標簽文本列表。類數組對象。可選參數。如果為None,則值為使用fmt參數格式化的柱子的數據(柱子的高度)。
  •  (3)fmt:標簽的格式字符串。 字符串。默認值為’%g’,即將標簽值格式化為浮點數。
  •  (4)label_type :標簽類型。取值范圍為 {'edge', 'center'},默認值為'edge'。對於普通柱狀圖,該參數僅用於控制標簽的位置,對於堆積柱狀圖,不同標簽類型對應不同的標簽值。
    • (4.1)'edge': 標簽位於柱子的端點。顯示的值為柱子的端點位置。註意!對於堆積柱狀圖即堆積的多個柱子的總長度。
    • (4.2)'center':標簽位於柱子的中部。顯示的值為柱子的長度。
  • (5)padding : 標簽與柱子之間的距離,單位為像素。浮點數。默認值為0。
  • (6)**kwargs:傳遞給 annotate()的其他參數。返回值為標簽的Text對象列表。

到此這篇關於Python使用matplotlib給柱狀圖添加數據標簽bar_label()的文章就介紹到這瞭,更多相關matplotlib給柱狀圖添數據標簽內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: