科学计算可视化
用于数据分析、科学计算与可视化的扩展模块主要有:numpy、scipy、pandas、SymPy、matplotlib、Traits、TraitsUI、Chaco、TVTK、Mayavi、VPython、OpenCV。
Numpy介绍
Numpy是Python的一个科学计算的库,提供了矩阵运算的功能,其一般与Scipy、matplotlib一起使用。在计算多维数组与大型数组方面使用最广,还提供多个函数操作起来效率也高。
Matplotlib介绍
Matplotlib 可能是 Python 2D-绘图领域使用最广泛的套件。它能让使用者很轻松地将数据图形化,并且提供多样化的输出格式,基于Numpy库。可以实现的效果还是特别广.matplotlib模块依赖于numpy模块和tkinter模块,可以绘制多种形式的图形,包括线图、直方图、饼状图、散点图、误差线图等等,图形质量可满足出版要求,是数据可视化的重要工具。
scipy介绍:
scipy依赖于numpy,提供了更多的数学工具,包括矩阵运算、线性方程组求解、积分、优化、插值、信号处理、图像处理、统计等等。
pandas(Python Data Analysis Library)介绍:
pandas(Python Data Analysis Library)是基于numpy的数据分析模块,提供了大量标准数据模型和高效操作大型数据集所需要的工具,可以说pandas是使得Python能够成为高效且强大的数据分析环境的重要因素之一。
导入模块
>>> import numpy as np
二、使用numpy、matplotlib模块绘制雷达图

三、使用PIL、numpy模块自定义手绘风
from PIL import Image
import numpy as np
a = np.asarray(Image.open("maomi.jpg").convert("L")).astype("float")
depth = 8
grad = np.gradient(a)
grad_x, grad_y = grad
grad_x = grad_x*depth/100
grad_y = grad_y*depth/100
A = np.sqrt(grad_x**2 + grad_y**2 + 1.)
uni_x = grad_x/A
uni_y = grad_y/A
uni_z = 1./A
vec_el = np.pi/2.2 #θ角度
vec_az = np.pi/4. #α角度
dx = np.cos(vec_el)*np.cos(vec_az)
dy = np.cos(vec_el)*np.sin(vec_az)
dz = np.sin(vec_el)
b = 255*(dx*uni_x + dy*uni_y + dz*uni_z)
b = b.clip(0, 255)
im = Image.fromarray(b.astype('uint8'))
im.save("miaomiao.jpg")
图
执行后
利用numpy和matplolib库绘制笛卡尔心形图(心脏线)
import matplotlib.pyplot as plt
import numpy as np
a = plt.subplot(111,projection = 'polar')
t = np.linspace(0,2*np.pi,60)
a.plot(t,1-np.sin(t),'-',c='b')
plt.show()


浙公网安备 33010602011771号