Python 實(shí)現(xiàn)繪制子圖及子圖刻度的變換等問題
發(fā)布日期:2022-03-30 12:22 | 文章來源:腳本之家
1、涉及到圖的對比會用到子圖形式展示,先看看效果
2、繪制代碼如下
accuracy_alexnet_clef = [78.05, 78.43, 78.65, 78.61, 78.69] accuracy_resnet_clef = [84.56, 84.84, 85.07, 85.01, 85.13] accuracy_alexnet_office10 = [87.30, 87.57, 87.78, 87.72, 87.50] accuracy_resnet_office10 = [96.31, 96.35, 96.62, 96.43, 96.15] orders = ['2', '3', '5', '10', '20'] names = ['alexnet', 'resnet'] # 創(chuàng)建兩幅子圖 f, ax = plt.subplots(2,1,figsize=(6, 8)) # 第一根柱子偏移坐標(biāo) x = [i for i in range(len(orders))] # 第二根柱子偏移坐標(biāo) x1 = [i + 0.35 for i in range(len(orders))] # 兩幅子圖之間的間距 plt.subplots_adjust(wspace =0, hspace =0.4) # 選擇第一幅圖 figure_1 = ax[0] # 設(shè)置x軸偏移和標(biāo)簽 figure_1.set_xticks([i+0.15 for i in x]) figure_1.set_xticklabels(orders) # 設(shè)置y軸的范圍 figure_1.set_ylim(bottom=77,top=86) # 繪制柱狀圖,x表示x軸內(nèi)容,accuracy_alexnet_clef表示y軸的內(nèi)容,alpha表示透明度,width表示柱子寬度 # label表示圖列 figure_1.bar(x, accuracy_alexnet_clef, alpha=0.7, width = 0.35, facecolor = '#4c72b0', label='Alexnet') figure_1.bar(x1, accuracy_resnet_clef, alpha=0.7, width = 0.35, facecolor = '#dd8452', label='Resnet') figure_1.set_ylabel('Accuracy%') # 設(shè)置y軸的標(biāo)簽 figure_1.set_xlabel('Order') # 設(shè)置x軸的名稱 figure_1.set_title('Alexnet') # 設(shè)置圖一標(biāo)題名稱 figure_1.legend() # 顯示圖一的圖例 # 選擇第二幅圖 figure_2 = ax[1] figure_1.set_xticks([i+0.15 for i in x]) figure_1.set_xticklabels(orders) figure_2.set_ylim(bottom=77,top=100) figure_2.bar(x, accuracy_alexnet_office10,alpha=0.7,width = 0.35,facecolor = '#c44e52', label='Alexnet') figure_2.bar(x1, accuracy_resnet_office10,alpha=0.7,width = 0.35,facecolor = '#5f9e6e', label='Alexnet') # figure_2.bar(orders, accuracy_resnet_clef,alpha=0.7,width = 0.35,facecolor = '#dd8452') figure_2.set_ylabel('Accuracy%') figure_2.set_xlabel('Order') figure_2.set_title('Resnet') figure_2.legend() f.suptitle('ImageCLEF_DA') # 設(shè)置總標(biāo)題 plt.show()
補(bǔ)充:解決python中subplot繪制子圖時子圖坐標(biāo)軸標(biāo)簽以及標(biāo)題重疊的問題
1.問題描述
在使用python的matplotlib中的subplot繪制子圖時出現(xiàn)信息相互重疊的情況。
2.解決方案
在plt.show()前面添加代碼plt.tight_layout()即可解決。
plt.subplot(211) plt.figure(1) plt.hist(x, 10) plt.title("Histogram of sample points") plt.subplot(212) plt.plot(x,X.pdf(x)) plt.title("Probability Density Function(PDF)") plt.tight_layout() plt.show()
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持本站。
版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。
相關(guān)文章