绘制直线,三角形,正方形
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绘制并保存指定大小图像的方法
本文地址: http://www.cppcns.com/jiaoben/python/249497.html