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时会遇到各种问题,这是因为 ...
随机推荐
- [工作日志] 2019-04-16 入参是list
入参 {"vehicleList":[{"vehicleNo":"赣K81057","plateColor":" ...
- 访问mysql出现Access denied for user 'root'@'的解决方法
1.关闭mysql的服务 方法一:我的电脑右键-管理-服务和应用程序-服务,找到mysql,右键关闭 方法二:cmd进入命令提示符,service mysqld stop(这个是网上的方法,我试了一下 ...
- v-echart 按需加载
import 'v-charts/lib/style.css';import VeBar from 'v-charts/lib/bar' // 条形图import VeRadar from 'v-ch ...
- Linux 安装aria2
Ubuntu/Linux Mint/Debian sudo apt-get install aria2 CentOS/Fedora sudo yum install aria2 Manjaro/Arc ...
- 信号量及P/V操作
有一个厕所,允许多个男生同时使用,也允许一个女生使用,但是不允许男女共用(那岂不是乱了套)通过厕所门口有一个三面小牌子来运行.一面是男生在用,第二面是女生在用,第三面是空.运行机制:第一个进入空厕所男 ...
- ImageUtil
package com.rscode.credits.util; import java.io.File; import java.io.IOException; import java.util.A ...
- 图的深度优先遍历(DFS)—递归算法
实验环境:win10, DEV C++5.11 实验要求: 实现图的深度优先遍历 实验代码: #include <iostream> #define maxSize 255 #includ ...
- 聚类--K均值算法:自主实现与sklearn.cluster.KMeans调用
1.用python实现K均值算法 import numpy as np x = np.random.randint(1,100,20)#产生的20个一到一百的随机整数 y = np.zeros(20) ...
- .htaccess 文件来进行用户组的目录权限访问控制
<IfModule rewrite_module>RewriteEngine onRewriteRule ^((?:bootstrap|css|img|js||MathJax|video) ...
- kickstart文件制作与光盘镜像制作
kickstart文件,是linux(Redhat.Centos.Fedora)下的anaconda安装程序的配置文件,基于此文件,可以实现linux的无人值守安装,在需要大规模部署安装linux的情 ...