科学计算和可视化

(1)、numpy和matplotlip读书笔记

①numpy库

•numpy 是用于处理含有同种元素的多维数组运算的第三方库。

•numpy 库还包括三角运算函数、傅里叶变换、随机和概率分布、基本数值统计、位运算、矩阵运算等非常丰富的功能。

•numpy 库处理的最基础数据类型是由同种元素构成的多维数组(ndarray),简称“数组”。

•数组中所有元素的类型必须相同,数组中元素可以用整数索引,序号从0开始。ndarray 类型的维度(dimensions)叫做轴(axes),轴的个数叫做秩(rank)。一维数组的秩为1,二维数组的秩为2,二维数组相当于由两个一维数组构成。

 

② matplotlib库

matplotlib 是提供数据绘图功能的第三方库,其pyplot 子库主要用于实现各种数据展示图形的绘制。

 

•使用figure()函数创建一个全局绘图区域,并且使它成为当前的绘图对象,figsize参数可以指定绘图区域的宽度和高度,单位为英寸。

•subplot()都用于在全局绘图区域内创建子绘图区域,其参数表示将全局绘图区域分成nrows 行和ncols 列,并根据先行后列的计数方式在plot_number 位置生成一个坐标系。

•axes()默认创建一个subplot(111)坐标系,参数rec = [left,bottom,width,height]中四个变量的范围都为[0,1],表示坐标系与全局绘图区域的关系;axisbg 指背景色,默认为white。

(2)、把成绩表做成雷达图

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(['First', 'Second', 'Third', 'Fourth', 'Fifth'])
nAttr = 5
data = np.array([20,15,10,15,20]) #数据值
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='g',alpha=0.25)
plt.thetagrids(angles*180/np.pi, labels)
plt.figtext(0.52, 0.95, '燎沉香的成绩表', ha='center')
plt.grid(True)
plt.show()

 

(3)、自定义手绘风

 

from PIL import Image
from PIL import ImageFilter
square = Image.open("D:\python\GDJD.jpg")
square1 = square.filter(ImageFilter.CONTOUR)  #选择轮廓效果
square1.save("D:\python\GDJD2.jpg")

 

 

 

posted @ 2020-05-06 16:52  燎沉香  阅读(167)  评论(0)    收藏  举报