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


Posted in Python onJanuary 10, 2019

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

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 相关文章推荐
python持久性管理pickle模块详细介绍
Feb 18 Python
Python3处理文件中每个词的方法
May 22 Python
解决pyinstaller打包pyqt5的问题
Jan 08 Python
详解Python传入参数的几种方法
May 16 Python
简单了解python PEP的一些知识
Jul 13 Python
python爬虫豆瓣网的模拟登录实现
Aug 21 Python
Python使用微信itchat接口实现查看自己微信的信息功能详解
Aug 22 Python
Python调用接口合并Excel表代码实例
Mar 31 Python
python使用建议技巧分享(三)
Aug 18 Python
python中的yield from语法快速学习
Nov 06 Python
Python的信号库Blinker用法详解
Dec 31 Python
python办公自动化之excel的操作
May 23 Python
解决Python plt.savefig 保存图片时一片空白的问题
Jan 10 #Python
Python使用pydub库对mp3与wav格式进行互转的方法
Jan 10 #Python
python利用ffmpeg进行录制屏幕的方法
Jan 10 #Python
Python3.6.2调用ffmpeg的方法
Jan 10 #Python
Django组件之cookie与session的使用方法
Jan 10 #Python
通过python的matplotlib包将Tensorflow数据进行可视化的方法
Jan 09 #Python
python pcm音频添加头转成Wav格式文件的方法
Jan 09 #Python
You might like
PHP反射机制用法实例
2014/08/28 PHP
Linux操作系统安装LAMP环境
2015/06/26 PHP
学习php设计模式 php实现访问者模式(Visitor)
2015/12/07 PHP
在 Laravel 中 “规范” 的开发短信验证码发送功能
2017/10/26 PHP
PHP设计模式之工厂模式(Factory Pattern)的讲解
2019/03/21 PHP
基于Laravel 多个中间件的执行顺序详解
2019/10/21 PHP
js 表单验证方法(实用)
2009/04/28 Javascript
禁止JQuery中的load方法装载IE缓存中文件的方法
2009/09/11 Javascript
json数据处理技巧(字段带空格、增加字段、排序等等)
2013/06/14 Javascript
Extjs实现进度条的两种便捷方式
2013/09/26 Javascript
javascript代码运行不出来执行错误的可能情况整理
2013/10/18 Javascript
分享9点个人认为比较重要的javascript 编程技巧
2015/04/27 Javascript
window.open不被拦截的简单实现代码(推荐)
2016/08/04 Javascript
js捕捉键盘事件和按键键值的方法
2016/10/10 Javascript
JavaScript 深层克隆对象详解及实例
2016/11/03 Javascript
js/jquery控制页面动态加载数据 滑动滚动条自动加载事件的方法
2017/02/08 Javascript
使用use注册Vue全局组件和全局指令的方法
2018/03/08 Javascript
详解用vue2.x版本+adminLTE开源框架搭建后台应用模版
2019/03/15 Javascript
vue el-table实现自定义表头
2019/12/11 Javascript
JQuery常用选择器功能与用法实例分析
2019/12/23 jQuery
如何在JavaScript中等分数组的实现
2020/12/13 Javascript
python实现红包裂变算法
2016/02/16 Python
详谈Python基础之内置函数和递归
2017/06/21 Python
python训练数据时打乱训练数据与标签的两种方法小结
2018/11/08 Python
Django中使用session保持用户登陆连接的例子
2019/08/06 Python
基于梯度爆炸的解决方法:clip gradient
2020/02/04 Python
django admin 根据choice字段选择的不同来显示不同的页面方式
2020/05/13 Python
描述内存分配方式以及它们的区别
2016/10/15 面试题
模具数控专业自荐信
2014/01/27 职场文书
2014道德模范事迹材料
2014/02/16 职场文书
学校出纳员岗位职责
2014/03/18 职场文书
党校学习个人总结
2015/02/15 职场文书
教师节主持词开场白
2015/05/29 职场文书
家长会开场白和结束语
2015/05/29 职场文书
中学教师读书笔记
2015/07/01 职场文书
2015年高中语文教学总结
2015/08/18 职场文书