更新時(shí)間:2022年03月23日10時(shí)08分 來源:傳智教育 瀏覽次數(shù):
在之前的Python培訓(xùn)中我們講到了柱形圖,雖然柱形圖中可以通過柱形的高度反映每組數(shù)據(jù)的多少,但是仍然無法讓用戶精準(zhǔn)地知道具體數(shù)值。因此,柱形圖經(jīng)常會(huì)與注釋文本配合使用,在柱形的頂部標(biāo)注具體數(shù)值。2.22節(jié)實(shí)例中的柱形圖描述了阿里巴巴淘寶和天貓平臺(tái)的GMV,但圖中的矩形條缺少具體的數(shù)值,因此這里將在柱形圖中添加無指向型注釋文本,代碼如下。
import numpy as np import matplotlib.pyplot as plt plt.rcParams['font.sans-serif'] = ['SimHei'] plt.rcParams['axes.unicode_minus'] = False x = np.arange(1, 8) y = np.array([10770, 16780, 24440, 30920, 37670, 48200, 57270]) bar_rects = plt.bar(x, y, tick_label=["FY2013", "FY2014", "FY2015", "FY2016", "FY2017", "FY2018", "FY2019"], width=0.5) # 添加無指向型注釋文本 def autolabel(rects): """在每個(gè)矩形條的上方添加一個(gè)文本標(biāo)簽,以顯示其高度""" for rect in rects: height = rect.get_height() #獲取每個(gè)矩形條的高度 plt.text(rect.get_x() + rect.get_width() / 2, height + 300, s='{}'.format(height), ha='center', va='bottom') autolabel(bar_rects) plt.ylabel('GMV(億元)') plt.show()
運(yùn)行程序,效果如圖3-17所示。
與圖2-6相比,圖3-17的柱形圖增加了y軸的標(biāo)簽和注釋文本,幫助用戶準(zhǔn)確地知道各柱形對(duì)應(yīng)的數(shù)值。
圖3-17 2013—2019財(cái)年淘寶和天貓平臺(tái)的GMV柱形圖——添加注釋
北京校區(qū)