科学计算库学习报告

一、numpy库 —— 用于处理含有同种元素多维数组运算的第三方库

常用   >>>import numpy as np   引用numpy库,在程序的后续部分中用np代替numpy。

1. numpy库常用的创建数组函数

 2. ndarray类的常用属性

创建一个简单的数组后,可以查看ndarray类型的一些属性

属性 描述

ndarray.ndim

数组轴的个数,也被称作秩
ndarray.shape 数组在每个维度上大小的整数元组

ndarray.size

数组元素的总个数
ndarray.dtype 数组元素的数据类型,dtpye类型可以用于创建数组中
ndarray.itemsize 数组中每个元素的字节大小
ndarray.data 包含实际数组元素的缓冲区地址
ndarray.flat 数组元素的迭代器

         

3. ndarray 类的形态操作方法

方法 描述
ndarray.reshape(n,m) 不改变数组ndarray,返回一个维度为(n,m)的数组
ndarray.resize(new_shape) 与reshape()作用相同,直接修改数组ndarray
ndarray.swapaxes(ax1,ax2) 将数组n个维度中任意两个维度进行调换
ndarray.flatten() 对数组进行降维,返回一个折叠后的一维数组
ndarray.ravel() 作用同np.flatten(),但是返回数组的一个视图

 

 4. numpy库的算数运算函数

 

 5.numpy库的比较运算函数

 

其将返回 一个布尔数组,它包含两个数组中对应元素值的比较结果,例:

 

 6. numpy库的其他运算函数

函数 描述
np.abs(x) 计算基于元素的整型、浮点型、复数的绝对值
np.sqrt(x) 计算每个元素的平方根
np.squre(x) 计算每个元素的平方
np.ceil(x) 计算大于或等于每个元素的最小值
np.floor(x) 计算小于或等于每个元素的最大值
np.rint(x[,out]) 取每个元素最近的整数并保留数据类型
np.sin/np.cos/np.tan(x*np.pi/180)

利用*np.pi/180转化为弧度,

求每个元素的正弦值/余弦值/正切值

np.sign(x) 计算每个元素的符号:1(+),0,-1(-)
np.exp(x,[,out])

计算每个元素的e**x

np.log(x),np.log10(x),np.log2(x) 计算对数

 

 

 二、matplotlib库 —— 提供数据绘画功能的第三方库

其pyplot子库主要用于实现各种数据展示图形的绘制,提供了一批操作和绘图函数,每个函数代表对图像进行的一个操作。引用方式: >>>import matplotlib.pyplot as plt, 在后续程序中用plt代替matplotlib.pyplot。

1.plt库的绘图区域函数

函数 描述
plt.figure(figsize=(width,height),facecolor=None)

创建一个全局绘图区域,使其成为当前的绘图对象,

figsize参数可以指定绘图区域的宽度和高度,单位为英寸。

plt.sublot(nrows,ncols,plot_number)

在全局绘图区域内创建子绘图区域,其参数将全局绘图区域

分成nrows行和ncols列,并在plot_number区域生成一个坐标系。

plt.axes(rect,axisbg = 'w')

创建一个坐标系风格的子绘图区域,参数rect=[left,bottom,width,height]

中四个变量的范围为(0,1);axisbg指背景色,默认为white。

plt.subplots_adjust()

调整子绘图区域的布局

 2.plt库的读取和显示函数

 

 3.plt库的基础图表函数

操作 描述

plt.polt(x,y,label,color,linewidth)

根据x,y数组绘制直\曲线;

label表示设置标签并在图例(legend)中显示;

color表示曲线颜色,linewidth表示曲线宽度。

plt.boxplot(data,notch,position) 绘制一个箱型图(Box-plot)
plt.bar(left,height,width,bottom) 绘制一个条形图
plt.barh(bottom,width,height,left) 绘制一个横向条形图
plt.polar(theta,r) 绘制极坐标图
plt.pie(data,explode) 绘制饼图
plt.psd(x,NFFT=256,pad_to,Fs) 绘制功率谱密度图
plt.specgram(x,NFFT=256,pay_to,F) 绘制谱图
plt.cohere(x,y,NFFT=256,Fs) 绘制X—Y的相关函数
plt.scatter() 绘制散点图
plt.step(x,y,where)

绘制步阶图

plt.hist(x,bins,normed) 绘制直方图
plt.contour(X,Y,Z,N) 绘制等值图
plt.vlines() 绘制垂直图
plt.stem(x,y,linefmt,markerfmt,basefmt) 绘制曲线每个点到水平轴线的垂线
plt.plot_date() 绘制数据日期
plt.plotfile() 绘制数据后写入文件

例:

import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0,6,100)
y=np.cos(2*np.pi*x)*np.exp(-x)+0.8
plt.plot(x,y,'k',color='r',linewidth=3,linestyle="-")
plt.show()

结果示例:

 三、雷达图绘制 —— 2019310143137

import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = 'SimHei'
 
name = [' 第一周作业',' 第二周作业','第三周作业','第四周作业','第五周作业','第六周作业']   #标签
theta = np.linspace(0,2*np.pi,len(name),endpoint=False)    #将圆根据标签的个数等比分
value = [62.5,87.9,100,100,100,87.5]
theta = np.concatenate((theta,[theta[0]]))  #闭合
value = np.concatenate((value,[value[0]]))  #闭合
 
ax = plt.subplot(111,projection = 'polar')      #构建图例
ax.plot(theta,value,'m-',lw=1,alpha = 0.75)    #绘图
ax.fill(theta,value,'m',alpha = 0.75)           #填充
ax.set_thetagrids(theta*180/np.pi,name)         #替换标签
ax.set_ylim(0,100)                          #设置极轴的区间
ax.set_theta_zero_location('N')         #设置极轴方向
ax.set_title('Mindf的成绩表',fontsize = 25)   #添加图标题
plt.show()

  结果显示



posted @ 2020-05-05 17:35  Mindf  阅读(330)  评论(0)    收藏  举报