科学计算和可视化

Posted 567823a

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了科学计算和可视化相关的知识,希望对你有一定的参考价值。

一.numpy库和matplotlib库的学习

  (1)numpy库介绍:科学计算包,支持N维数组运算、处理大型矩阵、成熟的广播函数库、矢量运算、线性代数、傅里叶变换、随机数生成,并可与C++/Fortran语言无缝结合

      np.array([1,2,3])列表转换为数组;np.array((1,2,3))元组转换为数组; np.array(range(5))把range对象转换为数组;np.arange(8)类似于内置的range()函数

      np.linspace(0,10,11,endpoint = False)等差数组不包含终点

 

  (2)matplotlib库介绍:是Python编程语言及其数值数学扩展包 NumPy的可视化操作界面。它为利用通用的图形用户界面工具包,如Tkinter, wxPython, Qt或GTK+向应用程序嵌入式绘图提供了应用程序接口(API)。

二.雷达图

import matplotlib.pyplot as plt
import numpy as np
import matplotlib
plt.rcParams[‘font.family‘]=‘SimHei‘

labels=np.array([‘总成绩‘,‘单选‘,‘程序题‘,‘剩余用时‘,‘复写率‘])
nAttr=5
data=np.array([9.5,9,10,6,9])
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,‘b*-‘,color=‘y‘,linewidth=3)
plt.fill(angles,data,facecolor=‘g‘,alpha=0.25)
plt.thetagrids(angles*180/np.pi,labels)
plt.figtext(0.52,0.95,‘python123的成绩表‘,ha=‘center‘)
plt.grid(True)
plt.savefig(‘scorce_radar.JPG‘)
plt.show()

技术图片

三.自定义

from PIL import Image
import numpy as np
im=np.array(Image.open(‘钟楼2.jpg‘))
print(im.shape,im.dtype)
im=np.array(Image.open(‘钟楼2.jpg‘).convert(‘L‘))
print(im.shape,im.dtype)
print(im[20,300])
print(int(im.min()),int(im.max()))
print(im[10,:])
im0=np.array(Image.open(‘钟楼2.jpg‘).convert(‘L‘))
im1=255-im0
im2=(100/255)*im0+150
im3=255*(im1/255)**2
pil_im=Image.fromarray(np.uint(im3))
pil_im.show()
vec_el=np.pi/2.2
vec_az=np.pi/4
depth=10
im=Image.open(‘钟楼2.jpg‘).convert(‘L‘)
a=np.asarray(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.ain(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(‘钟楼.jpg‘)

 

 

技术图片

效果2

技术图片

效果3

技术图片

效果4

技术图片

以上是关于科学计算和可视化的主要内容,如果未能解决你的问题,请参考以下文章

科学计算和可视化

科学计算和可视化

科学计算和可视化

科学计算和可视化

科学计算可视化

科学计算和可视化