Python绘制并保存指定大小图像的方法
更新时间:2019年01月10日 10:02:56 作者:星夜孤帆
今天小编就为大家分享一篇Python绘制并保存指定大小图像的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
绘制直线,三角形,正方形
import matplotlib.pyplot as plt def 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 = data data_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绘制并保存指定大小图像的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
Python常见库matplotlib学习笔记之画图中各个模块的含义及修改方法
matplotlib是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地进行制图,下面这篇文章主要给大家介绍了关于Python常见库matplotlib学习笔记之画图中各个模块的含义及修改方法的相关资料,需要的朋友可以参考下2023-05-05python使用正则表达式(Regular Expression)方法超详细
这篇文章主要介绍了python使用正则表达式(Regular Expression)方法超详细,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2019-12-12
最新评论