python导入csv数据画直方图,python导入数据并画图
使用大蟒导入超过绘图使用超过数据绘图:
import pandas aspdimportnumpyasnpimportmatplotlib。pyplotaspltfrompl _ toolkits。坐标轴_网格1 .inset _ locatorimportinset读取数据x _轴_数据=[]y1 _轴_数据=[]y2 _轴_数据=[]y3 _轴_数据=[]yata think \ desktop 123。xlsx )#数据赋值def get(:forrowinsheet。索引。values 3360 doc=dict)doc[ key 1 ]=sheey 0)x _ axis _ data date 1]y1 _ axis _ data。追加)1))652)y2 _ axis _ data。append(doc[ key 3 ])# doc[ key 4]3]# y3 _轴_数据。追加4) y4 _轴_数据。追加(doc[ key 5 ]绘图def huitu)):PLT。fig)fig sizzure 5)#设置画布的大小PLT。title(theperformanceofnetunderdifferentdatasets)、fontsize=30)标题,然后选择大小PLT.xlabel(透明)设置字体大小PLT.tick_params(labelsize=28 ) #比例字体大小PLT.ylabel(uPSNR ,fontsize=30)以设置y轴,然后单击PLL 33 ) ) PLT.xlim))坐标轴刻度y_ticks=NP.arange ) ) 1,设置300 10)PLT。x刻度(x _ ticks)PLT。x刻度(x _ ticks)#颜色:颜色、线宽:线宽、线型:线型、label : label=Set5 ,marker= )# PLT。plot(x _ axis _ data ation line style=:,label=Set14 ,marker= *)color= marker= )# PLT。PLT(x _ axis _ data,y4_axis_data,color=green ,linewidth=1,line style=:marker= )。rcparams。更新({ 字体。尺寸:22 })图例字体大小PLT.legend (loc=4))
import pandas aspdimportnumpyasnpimportmatplotlib。pyplotaspltfrompl _ toolkits。坐标轴_网格1 .inset _ locatorimportinset读取数据x _轴_数据=[ ] y1 _轴_数据=[ ] y2 _轴_数据=[ ] y3 _轴_数据=[ ] yata
ATA=[]sheet=PD。read _ excel(r c:\ Users \ Think \ Desktop \ 123。xlsx )#数据赋值def get():用于工作表中的行。索引。值:doc=dict()doc[ key 1 ]=sheet。iloc[row,0]x _ axis _ data。追加(doc[ key 1 ])doc[ key 2 ]=工作表。iloc[row,1]y1 _ axis _ data。append(doc[ key 2 ])# doc[ key 3 ]=sheet。iloc[row,2]# y2 _ axis _ data。append(doc[ key 3 ])# doc[ key 4 ]进行绘图def huitu_plus(): fig,ax=plt.subplots(1,1) #其中图,ax=情节支线情节(a,b)用来控制子图个数:a为行数,b为列数#ax.plot(x轴数据,y轴数据,color= # 4169 E1 ,alpha=0.8,label=$1*10^{-5}$)ax。plot(x _ axis _ data,y1_axis_data,color=deeppink ,linewidth=2,linestyle=:,label=PSNR ,marker= o )# ax。plot(x _ axis _ data,reward_demaddpg10,color= # 848484 ,alpha=0.8,label=$5*10^{-6}$)# ax。plot(x _ plot label=$1*10^{-6}$)# ax。plot(x _ axis _ data,reward_demaddpg20,color= # 575 b20 ,alpha=0.8,label=$5*10^{-7}$)#轴。plot(x _ axis _ data,reward_demaddpg25,color= # b84d 37 ,alpha=0.8,label=$1*10^{-7}$)plt。图例(位置=4)#图例展示位置,数字代表第几象限ax.set_xlabel(剧集)#横坐标的标签ax.set_ylabel(总报酬)#纵坐标的标签axins=inset_axes(ax,宽度=40% ,高度=30% ,位置=左下角,bbox_to_anchor=(0.3,0.1,1,1),bbox _ transform=ax。交易)# ax父坐标系;#宽度、高度:子坐标系的宽度和高度(百分比形式或者浮点数个数)# loc:子坐标系的位置;# bbox_to_anchor:边界框,四元数组(x0,y0,宽度,高度);#轴数:子坐标系# axins=ax.inset_axes((0.2,0.2,0.4,0.3))和上面表达式的效果一样axins.plot(x_axis_data,y1_axis_data,color= # 4169 E1 ,alpha=0.8,label=$1*10^{-5}$)#设置放大区间zone_left=2 zone_right=5 #坐标轴的扩展比例(根据实际数据调整)x_ratio=0 # x轴显示范围的扩展比例y比率=0.05 # y轴显示范围的扩展比例# X轴的显示范围xlim 0=x _ axis _ data[zone _ left]-(x _ axis _ data[zone _ right]-x _ axis _ data[zone _ left])* x _ ratio xlim 1=x _ axis _ data[zone _ right](x _ axis _ data[zone _ right]-x _ axis _ data[zone _ left])* x _ ratio # Y轴的显示范围y=NP。h stack(y1 _ axis _ data[zone _ left:zone _ right])ylim 0=NP。min(y)-(NP。max(y)-NP。min(y))* y _ ratio ylim 1=NP。max(y)(NP。max(y)-NP。min(y))* y _ ratio #调整子坐标系的显示范围axins.set_xlim(xlim0,xlim1) axins.set_ylim(ylim0,ylim1) #原图中画方框tx0=xlim 0 tx1=xlim 1 ty0=ylim 0 ty1=ylim 1 sx=[tx0,tx1,tx1,tx0,tx0] sy=[ty0,ty0,ty1,ty1,ty0] ax.plot(sx,sy, blue) #(tx0,ty0)为一个坐标点、类推# 画两条线xy=(xlim0,ylim0) xy2=(xlim0,ylim 1)con=连接patch(xyA=xy2,xyB=xy,coordsA=data ,coordsB=data ,axesA=axins,axes b=ax)axins。add _ artist(con)xy=(xlim 1,ylim0) xy2=(xlim1,ylim 1)con=连接patch(xyA=xy2,xyB=xy,coordsA=data ,coordsB=data ,axesA=axins只进行绘图
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。