numpy和matploptlib
numpy
Numpy介绍
数据类型ndarray

生成数组的方法:
- 中文名
- 绘图库
- 外文名
- Matplotlib
- 所属领域
- 计算机
- 作 用
- 绘图
- 元 素
- x轴和y轴
import numpy as np
import matplotlib.pyplot as plt
import matplotlib
matplotlib.rcParams['font.family']='SimHei'
matplotlib.rcParams['font.sans-serif']=['SimHei']
labels=np.array(['第一次作业','第二次作业','第三次作业','第四次作业','第五次作业','第六次作业','第七次作业'])
nAttr=7
data=np.array([0,0.909,1,1,1,0.875,0])
angles=np.linspace(0,2*np.pi,nAttr,endpoint=False)
data=np.concatenate((data,[data[0]]))
angles=np.concatenate((angles,[angles[0]]))
fig=plt.figure(facecolor='white')
plt.subplot(111,polar=True)
plt.plot(angles,data,'bo-',color='g',linewidth=2)
plt.fill(angles,data,facecolor='r',alpha=0.25)
plt.thetagrids(angles*180/np.pi,labels)
plt.figtext(0.52,0.95,'01我的成绩',ha='center')
plt.grid(True)
plt.savefig('xuexi.JPG')
plt.show()
结果图:

from PIL import Image
import numpy as np
im0=np.array(Image.open('D:\\故宫.jpg').convert("L"))
im1=255-im0
im2=(100/255)*im0+150
im3=255*(im1/255)**2
pil_im=Image.fromarray(np.uint(im1))
pil_im.save('gugonggai.jpg')
pil_im.show()
im1,im2,im3三次改变的图分别为:



将im3改为:im3=255-255*(im1/255)**0.5+150
效果图为:

from PIL import Image
import numpy as np
vec_el=np.pi/2.2
vec_az=np.pi/4.
depth=7. #颜色的深浅,建议不要写太大的值,因为会变得很丑
im=np.array(Image.open('D:\\故宫.jpg').convert("L"))
a=np.asanyarray(im).astype('float')
grad=np.gradient(a)
grad_x,grad_y=grad
grad_x=grad_x*depth/100.
grad_y=grad_y*depth/100.
dx=np.cos(vec_el)*np.cos(vec_az)
dy=np.cos(vec_el)*np.cos(vec_az)
dz=np.sin(vec_el)
A=np.sqrt(grad_x**2+grad_y**2+1.)
uni_x=grad_x/A
uni_y=grad_y/A
uni_z=1./A
a2=255*(dx*uni_x+dy*uni_y+dz*uni_z)
a2=a2.clip(0,255)
im2=Image.fromarray(a2.astype('uint8'))
im2.save('gugong3.jpg')

好了,在这里放一下原图:

科学坐标绘制
import numpy as np
import matplotlib.pyplot as plt
import matplotlib
matplotlib.rcParams['font.family']='SimHei'
matplotlib.rcParams['font.sans-serif']=['SimHei']
def Draw(pcolor,nt_point,nt_text,nt_size):
plt.plot(x,y,'k',label="$exp_decay$",color=pcolor,\
linewidth=3,linestyle="-")
plt.plot(x,z,"b--",label="$cos(x^2)$",linewidth=1)
plt.xlabel('时间(s)')
plt.ylabel('幅度(mV)')
plt.title("阻尼衰减曲线绘制")
plt.annotate('$cos(2\pi t)\exp(-t)$',xy=nt_point,\
xytext=nt_text,fontsize=nt_size,arrowprops=\
dict(arrowstyle='->',connectionstyle="arc3,rad=.1"))
def Shadow(a, b):
ix=(x>a)&(x<b)
plt.fill_between(x,y,0,where=ix,facecolor='grey',alpha=0.25)
plt.text(0.5*(a+b),0.2,r"$\int_a^b f(x)\mathrm{d}x$",\
horizontalalignment='center')
def XY_Axis(x_start,x_end,y_start,y_end):
plt.xlim(x_start,x_end)
plt.ylim(y_start,y_end)
plt.xticks([np.pi/3,2*np.pi/3,1*np.pi,4*np.pi/3,\
5*np.pi/3],['$\pi/3$','$2\pi/3$','$\pi$','$4\pi/3$','$5\pi/3$'])
x=np.linspace(0.0,6.0,100)
y=np.cos(2*np.pi*x)*np.exp(-x)+0.8
z=0.5*np.cos(x**2)+0.8
note_point,note_text,note_size=(1,np.cos(2*np.pi)*\
np.exp(-1)+0.8),(1,1.4),14
fig=plt.figure(figsize=(8,6),facecolor='white')
plt.subplot(111)
Draw("red",note_point,note_text,note_size)
XY_Axis(0,5,0,1.8)
Shadow(0.8, 3)
plt.legend()
plt.savefig('sample.jpg')
plt.show()
结果图为:

numpy和matploptlib的更多相关文章
- 利用Python进行数据分析(5) NumPy基础: ndarray索引和切片
概念理解 索引即通过一个无符号整数值获取数组里的值. 切片即对数组里某个片段的描述. 一维数组 一维数组的索引 一维数组的索引和Python列表的功能类似: 一维数组的切片 一维数组的切片语法格式为a ...
- 利用Python进行数据分析(4) NumPy基础: ndarray简单介绍
一.NumPy 是什么 NumPy 是 Python 科学计算的基础包,它专为进行严格的数字处理而产生.在之前的随笔里已有更加详细的介绍,这里不再赘述. 利用 Python 进行数据分析(一)简单介绍 ...
- 利用Python进行数据分析(6) NumPy基础: 矢量计算
矢量化指的是用数组表达式代替循环来操作数组里的每个元素. NumPy提供的通用函数(既ufunc函数)是一种对ndarray中的数据进行元素级别运算的函数. 例如,square函数计算各元素的平方,r ...
- python安装numpy、scipy和matplotlib等whl包的方法
最近装了python和PyCharm开发环境,但是在安装numpy和matplotlib等包时出现了问题,现总结一下在windows平台下的安装方法. 由于现在找不到了工具包新版本的exe文件,所以采 ...
- 深入理解numpy
一.为啥需要numpy python虽然说注重优雅简洁,但它终究是需要考虑效率的.别说运行速度不是瓶颈,在科学计算中运行速度就是瓶颈. python的列表,跟java一样,其实只是一维列表.一维列表相 ...
- Python Numpy,Pandas基础笔记
Numpy Numpy是python的一个库.支持维度数组与矩阵计算并提供大量的数学函数库. arr = np.array([[1.2,1.3,1.4],[1.5,1.6,1.7]])#创建ndarr ...
- broadcasting Theano vs. Numpy
broadcasting Theano vs. Numpy broadcast mechanism allows a scalar may be added to a matrix, a vector ...
- python之numpy
一.矩阵的拼接合并 列拼接:np.column_stack() >>> import numpy as np >>> a = np.arange(9).reshap ...
- win7系统下python安装numpy,matplotlib,scipy和scikit-learn
1.安装numpy,matplotlib,scipy和scikit-learn win7系统下直接采用pip或者下载源文件进行安装numpy,matplotlib,scipy时会遇到各种问题,这是因为 ...
随机推荐
- [转]vux使用教程
原文:https://blog.csdn.net/revival_liang/article/details/78267992 <1>. 在项目里安装vuxnpm install vux ...
- 六、Django模型基础第一节
1 数据库的连接配置 django 连接mysql的配置流程: 安装 pymysql pip install pymysql 创建数据库用户 '; grant all on *.* to 'xiang ...
- 【EMV L2】Select PSE应用选择相关的卡片数据格式
The data field of the response message contains the FCI specific to the selected PSE, DDF, or ADF. 一 ...
- [LeetCode&Python] Problem 70. Climbing Stairs
You are climbing a stair case. It takes n steps to reach to the top. Each time you can either climb ...
- vue-cli搭建项目模拟后台接口数据,webpack-dev-conf.js文件配置
webpack.dev.conf.js 首先第一步 const express = require('express');const app = express();var appData = req ...
- Qt学习--信号与槽(多窗口的实现)
按照helloword的创建过程 创建一个新的项目(项目名:window) 之后进行多窗口的实现过程: (参考:http://www.qter.org/portal.php?mod=view& ...
- 锋利的jQuery初学(5)
层级选择器: 层级选择器 符号 解释 使用 空格 后代选择器 $("div p").css("","") + 紧邻选择器 $("d ...
- Ajaxpro使用的方法
1.下载Ajaxpro.2.dll 程序中引用 2.web.config配置 <?xml version="1.0" encoding="utf-8"?& ...
- spring 动态代理
突然想到AOP,就简单回忆一下动态代理.1.什么是动态代理? 假如有个用户有增删该查4个方法,如果要对用户操作后进行日志记录,可能会有人说直接在增删改查后做日志记录就行. 一旦我想在用户操作之前加一个 ...
- (转)薛飞 基于VLC的Unity视频播放器(二)
转自:http://www.manew.com/thread-144229-1-1.html 留个记录.