python / matploylib 繪製水平柱狀圖

記錄一下matplotlib繪製水平 柱狀圖的代碼

import matplotlib.pyplot as plt
# 構建數據
plt.figure(figsize=(12, 8))
x_data = keys_set
y_data = res_precision
y_data2 = vgg_precision
bar_width=0.3

plt.barh(range(len(x_data)), y_data, height=bar_width) 
plt.barh(np.arange(len(x_data))+bar_width, y_data2, height=bar_width) # label='Java基礎', color='indianred', alpha=0.8, 
# 在柱狀圖上顯示具體數值, ha參數控制水平對齊方式, va控制垂直對齊方式
for x, y in enumerate(y_data):
    plt.text(y+0.02 , x, '%s' % y, ha='right', va='top')
for x, y in enumerate(y_data2):
    plt.text(y , x+bar_width, '%s' % y, ha='right', va='bottom')

# 重新設置座標軸刻度,不設置的話從1開始顯示數字
plt.yticks(np.arange(len(x_data))+bar_width/2, x_data)

plt.legend(["resnet-precision", "vgg-precision"], loc=2)

最終效果
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章