Python之matplot座標修改,子圖繪製等問題

  1. 最近使用matplotlib作圖遇到的問題,做以下整理。先看圖:
    在這裏插入圖片描述
  2. 繪製代碼及註解
beta_1 = [81.56, 81.02, 69.07, 66.28]
beta_2 = [82.02, 81.20, 69.23, 66.22]
beta_3 = [82.40, 81.30, 69.30, 66.33]
# x軸標籤數據
names = ['A→W', 'A→D', 'D→A', 'W→A']

beta_1 = [i / 100 for i in beta_1]
beta_2 = [i / 100 for i in beta_2]
beta_3 = [i / 100 for i in beta_3]

# 繪製時對應的x軸的座標偏移
x = [i for i in range(len(names))]
x1 = [i + 0.25 for i in range(len(names))]
x2 = [i + 0.5  for i in range(len(names))]
x3 = [i + 0.25 for i in range(len(names))]

# 將x軸0,1,2...替換成names裏面的'A→W'...
plt.xticks(x3, names)

# 繪製柱狀圖,x表示x軸的座標便宜,beta表示縱軸的之,alpha是透明度,width是柱子的寬度
# facecolor是柱子顏色,edgecolor是柱子邊框顏色, label是圖列所用, lw是邊緣or線的寬度
plt.bar(x,  beta_1, alpha=0.9, width = 0.25, facecolor = '#bbe1fa', edgecolor = 'white', label='Beta=0.5', lw=1)
plt.bar(x1, beta_2, alpha=0.9, width = 0.25, facecolor = '#3282b8', edgecolor = 'white', label='Beta=0.8', lw=1)
plt.bar(x2, beta_3, alpha=0.9, width = 0.25, facecolor = '#0f4c75', edgecolor = 'white', label='Beta=1.0', lw=1)
plt.legend() # label的位置在左上,沒有這句會找不到label
plt.ylabel("Accuracy%") #Y軸標籤
plt.xlabel(u"Transfer Task(Resnet)") #X軸標籤

plt.grid(False) # 不展示網格
plt.ylim(0.65,0.83) #y軸的範圍
# plt.yticks(np.arange(0.65, 0.83, step=0.02)) # y軸的顯示刻度,

plt.show()
  1. 下一篇介紹子圖繪製
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章