首页 > 编程知识 正文

python导入csv数据画图,python导入图片代码

时间:2023-05-04 05:19:54 阅读:128091 作者:2466

使用python导入Excel绘图使用Excel数据绘图:

importpandasaspdimportnumpyasnpimportmatplotlib.pyplotaspltfrommpl _ toolkits.axes _ grid1. inset _ locatorimportinset 读取数据x _ axis _ data=[ ] y1 _ axis _ data=[ ] y2 _ axis _ data=[ ] y3 _ axis _ data=[ ] yata thinkdesktop 123.xlsx ' ) #数据赋值defget (: forrowinsheet.index.values 3360 doc=dict ) doc['key1']=sheey 0) x _ axis _ datadate 1]y1_axis_data.append ) )1) ) 652 ) y2 _ axis _ data.append (doc [ ' key3 ' ] ) # doc [ ' key4] 3]#y3_axis_data.append 4) y4 _ axis _ data.append (doc [ ' key5' ]绘图def huitu ) ) :PLT.figure ) fig sizzure 5 ) #设置画布的大小PLT.title (theperformanceofthenetworkunderdifferentdatasets )、fontsize=30 )标题,然后选择大小PLT.xlabel (透明) 设置字体大小PLT.tick_params(labelsize=28 ) #比例字体大小PLT.ylabel(u'PSNR ',fontsize=30 )以设置y轴,然后单击PLL 33 ) ) PLT.xlim ) )坐标轴刻度y_ticks=NP.arange ) ) 1, 设置300 ) 10 ) PLT.xticks(x_ticks ) PLT.xticks(x_ticks ) # color :颜色、linewidth :线宽、linestyle :线型、label : label='Set5',marker=' ' ) # PLT.plot (x _ axis _ datation line style=' : ',label='Set14 ',marker='* ) color=' marker=' ' ) #PLT.plot(x_axis_data,y4_axis_data,color='green ',linewidth=1, linestyle=': marker=' ' ) PLT.rcparams.update ({ ' font.size ' :22 } )图例字体大小PLT.legend (loc=4) )

importpandasaspdimportnumpyasnpimportmatplotlib.pyplotaspltfrommpl _ toolkits.axes _ grid1. inset _ locatorimportinset 读取数据x _ axis _ data=[ ] y1 _ axis _ data=[ ] y2 _ axis _ data=[ ] y3 _ axis _ data=[ ] yata

ata = []sheet = pd.read_excel(r"C:UsersThinkDesktop123.xlsx")#数据赋值def get(): for row in sheet.index.values: doc = dict() doc['key1'] = sheet.iloc[row, 0] x_axis_data.append(doc['key1']) doc['key2'] = sheet.iloc[row, 1] y1_axis_data.append(doc['key2']) # doc['key3'] = sheet.iloc[row, 2] # y2_axis_data.append(doc['key3']) # doc['key4'] = sheet.iloc[row, 3] # y3_axis_data.append(doc['key4']) # doc['key5'] = sheet.iloc[row, 4] # y4_axis_data.append(doc['key5'])# 进行绘图def huitu_plus(): fig, ax = plt.subplots(1, 1) # 其中fig, ax = plt.subplots(a,b)用来控制子图个数:a为行数,b为列数 #ax.plot(x_axis_data, y_axis_data, color='#4169E1', 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_axis_data, reward_demaddpg15, color='#FF774A', alpha=0.8, label='$1*10^{-6}$') # ax.plot(x_axis_data, reward_demaddpg20, color='#575B20', alpha=0.8, label='$5*10^{-7}$') # ax.plot(x_axis_data, reward_demaddpg25, color='#B84D37', alpha=0.8, label='$1*10^{-7}$') plt.legend(loc=4) # 图例展示位置,数字代表第几象限 ax.set_xlabel('Episodes') #横坐标的标签 ax.set_ylabel('Total reward') # 纵坐标的标签 axins = inset_axes(ax, width="40%", height="30%", loc='lower left', bbox_to_anchor=(0.3, 0.1, 1, 1), bbox_transform=ax.transAxes) # ax父坐标系; # width, height:子坐标系的宽度和高度(百分比形式或者浮点数个数) # loc:子坐标系的位置; # bbox_to_anchor:边界框,四元数组(x0, y0, width, height) ; # axins:子坐标系 # axins = ax.inset_axes((0.2, 0.2, 0.4, 0.3)) 和上面表达式的效果一样 axins.plot(x_axis_data, y1_axis_data, color='#4169E1', alpha=0.8, label='$1*10^{-5}$') # 设置放大区间 zone_left = 2 zone_right = 5 # 坐标轴的扩展比例(根据实际数据调整) x_ratio = 0 # x轴显示范围的扩展比例 y_ratio = 0.05 # y轴显示范围的扩展比例 # X轴的显示范围 xlim0 = x_axis_data[zone_left]-(x_axis_data[zone_right]-x_axis_data[zone_left])*x_ratio xlim1 = x_axis_data[zone_right]+(x_axis_data[zone_right]-x_axis_data[zone_left])*x_ratio # Y轴的显示范围 y = np.hstack(y1_axis_data[zone_left:zone_right]) ylim0 = np.min(y)-(np.max(y)-np.min(y))*y_ratio ylim1 = np.max(y)+(np.max(y)-np.min(y))*y_ratio # 调整子坐标系的显示范围 axins.set_xlim(xlim0, xlim1) axins.set_ylim(ylim0, ylim1) # 原图中画方框 tx0 = xlim0 tx1 = xlim1 ty0 = ylim0 ty1 = ylim1 sx = [tx0,tx1,tx1,tx0,tx0] sy = [ty0,ty0,ty1,ty1,ty0] ax.plot(sx,sy,"blue") #(tx0,ty0)为一个坐标点、类推 # 画两条线 xy = (xlim0,ylim0) xy2 = (xlim0,ylim1) con = ConnectionPatch(xyA=xy2,xyB=xy,coordsA="data",coordsB="data", axesA=axins,axesB=ax) axins.add_artist(con) xy = (xlim1,ylim0) xy2 = (xlim1,ylim1) con = ConnectionPatch(xyA=xy2,xyB=xy,coordsA="data",coordsB="data", axesA=axins,axesB=ax) axins.add_artist(con) return plt.show()get()huitu_plus() # 只进行绘图

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。