Python绘制并保存指定大小图像的方法
绘制直线,三角形,正方形
importmatplotlib.pyplotasplt defplotLine(): x=[1,2,3,4,5] y=[3,3,3,3,3] plt.figure(figsize=(100,100),dpi=1) plt.plot(x,y,linewidth=150) plt.axis('off') plt.savefig('C:\\Users\\Administrator\\Desktop\\分形图\\a.jpg',dpi=1) plt.show() plt.close() defplotTriangle(): x=[1,3,1,1] y=[1,1,3,1] plt.figure(figsize=(100,100),dpi=1) plt.plot(x,y,linewidth=150) plt.axis('off') plt.savefig('C:\\Users\\Administrator\\Desktop\\分形图\\b.jpg',dpi=1) plt.show() plt.close() defplotSquare(): x=[1,3,3,1,1] y=[1,1,3,3,1] plt.figure(figsize=(100,100),dpi=1) plt.plot(x,y,linewidth=150) plt.axis('off') plt.savefig('C:\\Users\\Administrator\\Desktop\\分形图\\c.jpg',dpi=1) plt.show() plt.close() plotLine() plotTriangle() plotSquare()
fromdatetimeimportdatetime importos importmatplotlib.pyplotasplt importnumpyasnp importtensorflowastf fromsix.movesimportxrange data=np.load('data/final37.npy') data_images=data data_images=data_images.reshape(-1,3,61) #data_images=data_images[500:1000,:,:] foriinrange(2000): plt.figure(figsize=(100,100),dpi=1) plt.plot(data_images[i][0][0:30],data_images[i][0][30:60],color='blue',linewidth=150) plt.plot(data_images[i][1][0:30],data_images[i][1][30:60],color='red',linewidth=150) plt.plot(data_images[i][2][0:30],data_images[i][2][30:60],color='green',linewidth=150) plt.axis('off') plt.savefig('C:\\Users\\Administrator\\Desktop\\调整分辨率\\原始图\\resouce%d.jpg'%(i),dpi=1) plt.close() ################################################################################# #生成随机分叉图 #importrandom #importnumpyasnp #importoperator #importos #importcopy #frommatplotlib.font_managerimportFontProperties #fromscipy.interpolateimportlagrange #importrandom #importmatplotlib.pyplotasplt #np.set_printoptions(threshold=np.inf)#输出全部矩阵不带省略号 ##random.seed(10) #finaldata=[] #foriyinrange(100): ##固定一个点,尽量使点固定在0-1正方形的中间#小数点后16位 #pointx=random.uniform(0.3,0.7) #pointy=random.uniform(0.3,0.7) ################################################## ##主分支在上方 #a1x=random.uniform(pointx,0.8)#使第二个点尽量不那么大 #a2x=random.uniform(a1x,1) #a3x=random.uniform(a2x,1) #a1y=random.uniform(pointy,0.8) #a2y=random.uniform(a1y,1) #a3y=random.uniform(a2y,1) #ax=[pointx,a1x,a2x,a3x] #ay=[pointy,a1y,a2y,a3y] ##print(ax) ##print(ay) ##对主分支a段进行插值 ##在ax相同索引直接分别插两个点,最后a段长度由4变成10,既得final_ax ##print(ay) #final_ax=[] #final_ay=[] #foriinrange(len(ax)-1): ##round(data,8)小数点保留8位四舍五入 #f=lagrange([round(ax[i],8),round(ax[i+1],8)],[round(ay[i],8),round(ay[i+1],8)]) #insertax=np.linspace(ax[i],ax[i+1],4)#插入2个点,小数点后8位 #insertay=f(insertax) #foraxiininsertax: #final_ax.append(axi) #forayiininsertay: #final_ay.append(ayi) #delfinal_ax[4] #delfinal_ax[7] #delfinal_ay[4] #delfinal_ay[7] ################################################## ###左下分支 #b1x=random.uniform(0.2,pointx)#使第二个点尽量不那么小 #b2x=random.uniform(0,b1x) #b3x=random.uniform(0,b2x) #b1y=random.uniform(0.2,pointy) #b2y=random.uniform(0,b1y) #b3y=random.uniform(0,b2y) #bx=[b3x,b2x,b1x,pointx] #by=[b3y,b2y,b1y,pointy] ##对左下分支b段进行插值 #final_bx=[] #final_by=[] #foriinrange(len(bx)-1): #f=lagrange([round(bx[i],8),round(bx[i+1],8)],[round(by[i],8),round(by[i+1],8)]) #insertbx=np.linspace(bx[i],bx[i+1],4) #insertby=f(insertbx) #forbxiininsertbx: #final_bx.append(bxi) #forbyiininsertby: #final_by.append(byi) #delfinal_bx[4] #delfinal_bx[7] #delfinal_by[4] #delfinal_by[7] # ################################################### ##右下分支 #c1x=random.uniform(pointx,0.8)#使第二个点尽量不那么大 #c2x=random.uniform(c1x,1) #c3x=random.uniform(c2x,1) #c1y=random.uniform(0.2,pointy) #c2y=random.uniform(0,c1y) #c3y=random.uniform(0,c2y) #cx=[pointx,c1x,c2x,c3x] #cy=[pointy,c1y,c2y,c3y] ##对右下分支段进行插值 #final_cx=[] #final_cy=[] #foriinrange(len(cx)-1): #f=lagrange([round(cx[i],8),round(cx[i+1],8)],[round(cy[i],8),round(cy[i+1],8)]) #insertcx=np.linspace(cx[i],cx[i+1],4) #insertcy=f(insertcx) #forcxiininsertcx: #final_cx.append(cxi) #forcyiininsertcy: #final_cy.append(cyi) #delfinal_cx[4] #delfinal_cx[7] #delfinal_cy[4] #delfinal_cy[7] ##################################################### #x=[final_ax,final_bx,final_cx]#三分叉,上为a,左下b,右下c #y=[final_ay,final_by,final_cy] #diameter_a=round(random.uniform(0.2,0.25),8) #diameter_b=round(random.uniform(0.1,0.2),8) #diameter_c=round(random.uniform(0.1,0.2),8) #final_a=[]#长度为21前10个x坐标点,后面10个是y坐标点,最后一个是管径 #foraxinfinal_ax: #final_a.append(ax) #forayinfinal_ay: #final_a.append(ay) #final_a.append(diameter_a) #final_b=[] #forbxinfinal_bx: #final_b.append(bx) #forbyinfinal_by: #final_b.append(by) #final_b.append(diameter_b) #final_c=[] #forcxinfinal_cx: #final_c.append(cx) #forcyinfinal_cy: #final_c.append(cy) #final_c.append(diameter_c) #finalabc=[final_a,final_b,final_c] #finaldata.append(finalabc) #finaldata=np.array(finaldata) ##复制改变a,不改变b #finaldata1=finaldata.copy() #finaldata2=finaldata.copy() #finaldata3=finaldata.copy() ##以定点为中心,进行镜像处理 #finaldata1[:,:,0:10]=2*pointx-finaldata[:,:,0:10] #finaldata2[:,:,10:20]=2*pointx-finaldata[:,:,10:20] #finaldata3[:,:,0:20]=2*pointx-finaldata[:,:,0:20] #final=np.concatenate((finaldata,finaldata1,finaldata2,finaldata3),axis=0) #np.random.shuffle(final)#随机打乱数据,若没有次句,将连续输出一个方向 #print(final.shape) ##np.save('C:\\Users\\Administrator\\Desktop\\第9周\\80000.npy',final) ############################################ ##单个可视化图像 #foriinrange(len(final)): #abc=final[i] #plt.plot(abc[0][0:10],abc[0][10:20],color='blue',linewidth=1.5) #plt.plot(abc[1][0:10],abc[1][10:20],color='red',linewidth=1.5) #plt.plot(abc[2][0:10],abc[2][10:20],color='green',linewidth=1.5) #plt.axis('off') #plt.savefig('C:\\Users\\Administrator\\Desktop\\ttt\\原图2\\random%d.jpg'%i,dpi=100) #plt.close() ########################################### #分块可视化图像 #data=np.load('C:\\Users\\Administrator\\Desktop\\第8周\\10000.npy') #print(data.shape) #rows,cols=5,5 #fig,axs=plt.subplots(rows,cols) #cnt=0 #foriinrange(rows): #forjinrange(cols): #xy=final[cnt]#第n个分叉图,有三个分支,每个分支21个数 #forkinrange(len(xy)): #x=xy[k][0:10] #y=xy[k][10:20] #ifk==0: #axs[i,j].plot(x,y,color='blue',linewidth=xy[k][20]*15) #ifk==1: #axs[i,j].plot(x,y,color='red',linewidth=xy[k][20]*15) #ifk==2: #axs[i,j].plot(x,y,color='green',linewidth=xy[k][20]*15) #axs[i,j].axis('off') #cnt+=1 ##plt.savefig('C:\\Users\\Administrator\\Desktop\\第9周\\') #plt.show()
以上这篇Python绘制并保存指定大小图像的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。