成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術文章
文章詳情頁

基于Python繪制子圖及子圖刻度的變換等的問題

瀏覽:2日期:2022-06-18 16:25:36
1、涉及到圖的對比會用到子圖形式展示

先看看效果

基于Python繪制子圖及子圖刻度的變換等的問題

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’]# 創建兩幅子圖f, ax = plt.subplots(2,1,figsize=(6, 8))# 第一根柱子偏移坐標x = [i for i in range(len(orders))]# 第二根柱子偏移坐標x1 = [i + 0.35 for i in range(len(orders))]# 兩幅子圖之間的間距plt.subplots_adjust(wspace =0, hspace =0.4)# 選擇第一幅圖figure_1 = ax[0]# 設置x軸偏移和標簽figure_1.set_xticks([i+0.15 for i in x])figure_1.set_xticklabels(orders)# 設置y軸的范圍figure_1.set_ylim(bottom=77,top=86)# 繪制柱狀圖,x表示x軸內容,accuracy_alexnet_clef表示y軸的內容,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%’) # 設置y軸的標簽figure_1.set_xlabel(’Order’) # 設置x軸的名稱figure_1.set_title(’Alexnet’) # 設置圖一標題名稱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’) # 設置總標題plt.show()

補充:python使用matplotlib在一個圖形中繪制多個子圖以及一個子圖中繪制多條動態折線問題

在講解繪制多個子圖之前先簡單了解一下使用matplotlib繪制一個圖,導入繪圖所需庫matplotlib并創建一個等間隔的列表x,將[0,2*pi]等分為50等份,繪制函數sin(x)。當沒有給定x軸數值時,默認以下標作為x的值,如果x值確定,則繪圖時寫為plt.plot(x,y) 。

如若想要繪制一個圖時寫入標簽,則寫為plt.plot(x,y,label='figure1')。

from numpy import *import matplotlib.pyplot as plt x = linspace(0, 2 * pi, 50)plt.plot(sin(x))plt.xlabel(’x-label’)plt.ylabel(’y-label’, fontsize=’large’)plt.title(’title’)

基于Python繪制子圖及子圖刻度的變換等的問題

以下先將整體代碼插入,再分布講解:

import numpy as npimport matplotlib.pyplot as plt from matplotlib.ticker import MultipleLocator, FormatStrFormatter def minmax_value(list1): minvalue=min(list1) maxvalue=max(list1) return minvalue,maxvalueplt.figure(figsize=(16,14),dpi=98)xmajorLocator = MultipleLocator(1) #將x主刻度標簽設置為1的倍數plt.rcParams[’font.sans-serif’]=[’SimHei’] plt.rcParams[’axes.unicode_minus’] = Falsep1 = plt.subplot(121)p2 = plt.subplot(122)#圖中展示點的數量pointcount=5x=[i for i in range(20)]print(x)y1=[i**2 for i in range(20)]y2=[i*4 for i in range(20)]y3=[i*3+2 for i in range(20)]y4=[i*4 for i in range(20)]for i in range(len(x)-1): if i<pointcount:minx,maxx=minmax_value(x[:pointcount])minx,maxx=minmax_value(x[:pointcount])minyA,maxyA=minmax_value(y1[:pointcount])minyB,maxyB=minmax_value(y2[:pointcount])maxy1=max(maxyA,maxyB)miny1=min(minyA,minyB)p1.axis([minx,maxx,miny1,maxy1])p1.grid(True)A,=p1.plot(x[:pointcount],y1[:pointcount],'g-')B,=p1.plot(x[:pointcount],y2[:pointcount],'b-')#設置主刻度標簽的位置,標簽文本的格式p1.xaxis.set_major_locator(xmajorLocator)legend=p1.legend(handles=[A,B],labels=['圖1','圖2']) minx,maxx=minmax_value(x[:pointcount])minx,maxx=minmax_value(x[:pointcount])minyA,maxyA=minmax_value(y3[:pointcount])minyB,maxyB=minmax_value(y4[:pointcount])maxy1=max(maxyA,maxyB)miny1=min(minyA,minyB)p2.axis([minx,maxx,miny1,maxy1])p2.grid(True)A,=p2.plot(x[:pointcount],y3[:pointcount],'r-')B,=p2.plot(x[:pointcount],y4[:pointcount],'y-')#設置主刻度標簽的位置,標簽文本的格式p2.xaxis.set_major_locator(xmajorLocator)legend=p2.legend(handles=[A,B],labels=['圖3','圖4']) elif i>=pointcount:minx,maxx=minmax_value(x[i-pointcount:i])minx,maxx=minmax_value(x[i-pointcount:i])minyA,maxyA=minmax_value(y1[i-pointcount:i])minyB,maxyB=minmax_value(y2[i-pointcount:i])maxy1=max(maxyA,maxyB)miny1=min(minyA,minyB)p1.axis([minx,maxx,miny1,maxy1])p1.grid(True)A,=p1.plot(x[i-pointcount:i],y1[i-pointcount:i],'g-')B,=p1.plot(x[i-pointcount:i],y2[i-pointcount:i],'b-')#設置主刻度標簽的位置,標簽文本的格式p1.xaxis.set_major_locator(xmajorLocator)legend=p1.legend(handles=[A,B],labels=['圖1','圖2'])minx,maxx=minmax_value(x[i-pointcount:i])minx,maxx=minmax_value(x[i-pointcount:i])minyA,maxyA=minmax_value(y3[i-pointcount:i])minyB,maxyB=minmax_value(y4[i-pointcount:i])maxy1=max(maxyA,maxyB)miny1=min(minyA,minyB)p2.axis([minx,maxx,miny1,maxy1])p2.grid(True)A,=p2.plot(x[i-pointcount:i],y3[i-pointcount:i],'r-')B,=p2.plot(x[i-pointcount:i],y4[i-pointcount:i],'y-')#設置主刻度標簽的位置,標簽文本的格式p2.xaxis.set_major_locator(xmajorLocator)legend=p2.legend(handles=[A,B],labels=['圖3','圖4']) p1.set_xlabel('橫軸屬性名一',fontsize=14) p1.set_ylabel('縱軸屬性名一',fontsize=14) p1.set_title('主題一',fontsize=18)p2.set_xlabel('橫軸屬性名二',fontsize=14) p2.set_ylabel('縱軸屬性名二',fontsize=14) p2.set_title('主題二',fontsize=18) plt.pause(0.3) plt.tight_layout(pad=4, w_pad=4.0, h_pad=3.0)

運行結果為:

基于Python繪制子圖及子圖刻度的變換等的問題

1、導入庫

import numpy as npimport matplotlib.pyplot as plt from matplotlib.ticker import MultipleLocator, FormatStrFormatter

2、由于繪圖過程中多次使用獲取最大最小值,將獲取最大最小值寫入函數,后面直接調用函數即可。

def minmax_value(list1): minvalue=min(list1) maxvalue=max(list1) return minvalue,maxvalue

3、

(1)創建自定義圖像,并設置figured的長和寬以及dpi參數指定繪圖對象的分辨率;

(2)設置x軸刻度的間隔;

(3)對本次繪圖中的字體進行設置;

(4)在matplotlib下,一個figure對象可以包含多個子圖(Axes),使用subplot()快速繪制。

plt.figure(figsize=(16,14),dpi=98)xmajorLocator = MultipleLocator(1)plt.rcParams[’font.sans-serif’]=[’SimHei’] plt.rcParams[’axes.unicode_minus’] = False p1 = plt.subplot(121)p2 = plt.subplot(122)

4、當數據量過多時,對數據一次性展示不能夠達到對數據內部信息的解讀。本例采用一次展示其中一部分數據,并動態的更新圖片,于此同時,動態更新橫縱坐標軸的取值范圍。下面代碼首先設置了每次展示點的數量,并獲取了主題一中的所有數據值。根據x取值范圍和值域y獲取當前繪圖過程中的橫縱坐標取值范圍,最后根據x,y的值進行繪圖。

下面將先在一個子圖上顯示兩條靜態折現。當使用動態的折線圖時,只需動態更新數據和橫縱坐標的取值范圍。總體代碼中已經寫出,下面不再贅述。

#圖中展示點的數量pointcount=5x=[i for i in range(20)]y1=[i**2 for i in range(20)]y2=[i*4 for i in range(20)]minx,maxx=minmax_value(x[:pointcount])minyA,maxyA=minmax_value(y1[:pointcount])minyB,maxyB=minmax_value(y2[:pointcount])maxy1=max(maxyA,maxyB)miny1=min(minyA,minyB)p1.axis([minx,maxx,miny1,maxy1])p1.grid(True)#繪圖過程中出現的網格設置A,=p1.plot(x[:pointcount],y1[:pointcount],'g-')B,=p1.plot(x[:pointcount],y2[:pointcount],'b-')#設置主刻度標簽的位置,標簽文本的格式p1.xaxis.set_major_locator(xmajorLocator)legend=p1.legend(handles=[A,B],labels=['圖1','圖2'])

結果如下所示:

基于Python繪制子圖及子圖刻度的變換等的問題

5、設置邊界,不設置邊界經常會因為橫縱軸的字體太大等其他原因導致橫縱軸或者標題只能顯示其中一部分。

plt.tight_layout(pad=4, w_pad=4.0, h_pad=3.0)

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Python 編程
相關文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
色综合激情久久| 日韩av在线发布| 日韩和欧美的一区| 亚洲国产一区二区三区在线播| 欧美精品一区二区三区一线天视频| 久久99精品久久久久久国产越南 | 亚洲精品欧美| 中文字幕免费在线观看视频一区| 成人avav在线| 精品久久久久久亚洲综合网| 国产一区二区看久久| 欧美日韩一区二区三区在线看| 日本亚洲视频在线| 在线观看国产一区二区| 蜜桃av一区二区三区电影| 欧洲日韩一区二区三区| 蜜臀va亚洲va欧美va天堂| 欧美这里有精品| 九九**精品视频免费播放| 日本大香伊一区二区三区| 狂野欧美性猛交blacked| 欧美日韩在线播放三区四区| 国产主播一区二区| 日韩一区二区三区视频在线观看 | 高清久久久久久| 精品欧美黑人一区二区三区| www.欧美日韩| 中文字幕欧美日韩一区| 亚洲国产导航| 亚洲成人av中文| 欧美性做爰猛烈叫床潮| 国产乱色国产精品免费视频| 日韩亚洲欧美一区| 91在线精品一区二区| 国产精品久久三| 国产精品美女诱惑| 蜜桃精品视频在线观看| 欧美肥妇free| 99久久99久久精品国产片果冻 | 美女脱光内衣内裤视频久久影院| 色偷偷一区二区三区| 激情另类小说区图片区视频区| 3d成人动漫网站| 成人国产一区二区三区精品| 国产亚洲精品aa午夜观看| 在线日本高清免费不卡| 亚洲裸体在线观看| 美女尤物久久精品| 精品在线免费视频| 久久综合久久鬼色| 亚洲精品激情| 免费成人美女在线观看| 日韩欧美久久久| 国产一区自拍视频| 亚洲第一激情av| 欧美女孩性生活视频| 不卡一区二区三区四区| 国产精品久久综合| 久久久精品网| 懂色av一区二区三区免费观看| 国产精品女上位| 亚洲影音一区| 国产成人啪午夜精品网站男同| 国产亚洲精品超碰| 国产精品一区免费观看| 久久99精品视频| 国产日韩视频一区二区三区| 国产日韩欧美在线播放不卡| 韩国av一区二区三区四区 | 久久综合久久综合久久综合| 亚洲三级影院| 寂寞少妇一区二区三区| 欧美激情一区二区三区不卡| 久久午夜电影| 成人综合日日夜夜| 亚洲激情在线激情| 91精品国产综合久久久久久久久久 | 欧洲色大大久久| 99re成人精品视频| 亚洲激情图片qvod| 欧美日韩国产小视频在线观看| 91伊人久久大香线蕉| 亚洲福中文字幕伊人影院| 欧美一级xxx| 制服诱惑一区二区| 国产精品 日产精品 欧美精品| 日本一区二区成人在线| 色婷婷av一区二区三区软件| 9i在线看片成人免费| 亚洲综合在线电影| 日韩一区国产二区欧美三区| 亚洲精品美女久久7777777| 国产在线精品免费| 亚洲人成精品久久久久| 在线综合+亚洲+欧美中文字幕| 国产综合欧美| 国产一区二区三区精品视频| 亚洲欧美激情一区二区| 欧美一区二区三区性视频| 99热免费精品| 成人免费视频国产在线观看| 亚洲国产日日夜夜| 久久综合色之久久综合| 色婷婷av一区二区三区之一色屋| 欧美va天堂在线| 日韩国产欧美在线观看| 中文字幕二三区不卡| 欧美顶级少妇做爰| 亚洲欧美日韩精品一区二区| 99精品欧美一区二区蜜桃免费| 亚洲va天堂va国产va久| 欧美国产成人精品| 91精品国产色综合久久不卡电影| 国产日韩一区二区三区在线| aaa欧美色吧激情视频| 蜜桃精品视频在线| 亚洲精品欧美综合四区| 久久久国产精品午夜一区ai换脸| 欧美日韩色一区| 国产美女一区| 欧美精品系列| 国产成人精品三级| 图片区小说区国产精品视频| 中文字幕乱码一区二区免费| 91精品一区二区三区久久久久久| 亚洲制服少妇| 黄页网站一区| 91天堂素人约啪| 国产精品亚洲第一区在线暖暖韩国| 亚洲123区在线观看| 自拍偷在线精品自拍偷无码专区| 欧美成人三级在线| 欧美日韩一区高清| 麻豆精品91| 亚洲三级影院| 欧美日韩国产精品一区二区亚洲| 国产91精品免费| 精品一区二区日韩| 日韩精品一卡二卡三卡四卡无卡| 亚洲欧美一区二区不卡| 久久久久99精品一区| 日韩精品一区二区在线观看| 欧美日精品一区视频| 久久网站免费| 午夜在线播放视频欧美| 亚洲欧洲午夜| 好吊色欧美一区二区三区视频| voyeur盗摄精品| 国产成人亚洲精品青草天美| 久久99精品久久久| 美女网站色91| 免费观看日韩电影| 日本成人在线不卡视频| 香蕉影视欧美成人| 亚洲国产色一区| 一区二区三区免费| 亚洲欧美色一区| 国产精品成人免费| 国产精品美女视频| 国产精品伦理在线| 中日韩av电影| 国产精品久久久久永久免费观看 | 欧美一区2区视频在线观看| 久久视频一区| 色婷婷久久久久swag精品| 久久黄色影院| 亚洲一区二区三区精品动漫| 国产日本精品| 国产一区白浆| 国产精品最新自拍| 亚洲欧美日本国产专区一区| 国产亚洲综合精品| 久久久久久久久一区二区| 亚洲一区三区电影在线观看| 亚洲视频1区| 国产伦精品一区二区三区高清版| 夜夜嗨一区二区| 一道本一区二区| 亚洲在线免费| 久久免费一区| 久久久久久夜| 91成人在线精品| 欧美日本国产一区| 欧美一级片免费看| 精品女同一区二区| 国产午夜亚洲精品不卡| 中文字幕不卡在线观看| 国产精品久久久99| 亚洲激情综合网| 五月天欧美精品| 久久精品99国产国产精| 国产中文字幕精品| 懂色av一区二区夜夜嗨| 99在线精品一区二区三区| 欧美人成网站| 亚洲精品一二| 久久精品伊人| 欧美人狂配大交3d怪物一区| 欧美一区二区三区成人| 久久伊人中文字幕|