Python绘制并保存指定大小图像的方法

时间:2021-05-22

绘制直线,三角形,正方形

import matplotlib.pyplot as pltdef plotLine(): 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()def plotTriangle(): 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()def plotSquare(): 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()from datetime import datetime import os import matplotlib.pyplot as plt import numpy as np import tensorflow as tf from six.moves import xrange data = np.load('data/final37.npy') data_images = datadata_images = data_images.reshape(-1,3,61)# data_images = data_images[500:1000,:,:]for i in range(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()################################################################################## 生成随机分叉图# import random# import numpy as np# import operator# import os# import copy# from matplotlib.font_manager import FontProperties# from scipy.interpolate import lagrange# import random# import matplotlib.pyplot as plt# np.set_printoptions(threshold=np.inf) #输出全部矩阵不带省略号# # random.seed(10)# finaldata = []# for iy in range(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 = []# for i in range(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)# for axi in insertax:# final_ax.append(axi)# for ayi in insertay:# final_ay.append(ayi)# del final_ax[4]# del final_ax[7]# del final_ay[4]# del final_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 = []# for i in range(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)# for bxi in insertbx:# final_bx.append(bxi)# for byi in insertby:# final_by.append(byi)# del final_bx[4]# del final_bx[7]# del final_by[4]# del final_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 = []# for i in range(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)# for cxi in insertcx:# final_cx.append(cxi)# for cyi in insertcy:# final_cy.append(cyi)# del final_cx[4]# del final_cx[7]# del final_cy[4]# del final_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坐标点,最后一个是管径# for ax in final_ax:# final_a.append(ax)# for ay in final_ay:# final_a.append(ay)# final_a.append(diameter_a)# final_b = []# for bx in final_bx:# final_b.append(bx)# for by in final_by:# final_b.append(by)# final_b.append(diameter_b)# final_c = []# for cx in final_cx:# final_c.append(cx)# for cy in final_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)# ############################################ # 单个可视化图像# for i in range(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# for i in range(rows):# for j in range(cols):# xy = final[cnt]#第n个分叉图,有三个分支,每个分支21个数# for k in range(len(xy)):# x = xy[k][0:10]# y = xy[k][10:20]# if k == 0 :# axs[i,j].plot(x,y,color='blue',linewidth=xy[k][20]*15)# if k == 1:# axs[i,j].plot(x,y,color='red',linewidth=xy[k][20]*15)# if k == 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绘制并保存指定大小图像的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章