数据可视化基础与实践PPT课件(共10章)第9章-Matplotlib可视化

举报
资源描述
数据可视化技术数据可视化技术第第9章章 Matplotlib可视化可视化学习目标学习目标u Matplotlib基础u Matplotlib常见图表u Matplotlib的3D图形和多子图22022/9/299.1.1 Numpy基础功能基础功能1、文件的输入和输出2、创建数组3、查看变量属性4、复制、排序和维度变化5、添加、删除元素32022/9/291 文件的输入和输出文件的输入和输出文件的输入和输出功能1、np.loadtxt(file.txt)读取file.txt文件2、np.loadtxt(file.txt,delimiter=t,dtype=str,encoding=utf-8)读取中文文件,delimiter表示字符串的分割符是t,dtype=str表示输入文本的类型是字符串,encoding=utf-8表示中文编码是utf-8。3、np.genfromtxt(file.csv,delimiter=,dtype=str,encoding=utf-8)读取file.csv文件,分隔符是,,dtype=str表示输入文本的类型是字符串,encoding=utf-8表示中文编码是utf-8。42022/9/291 文件的输入和输出文件的输入和输出4、np.savetxt(file.txt,arr,delimiter=,)将arr数组存储为file.txt文件。5、np.savetxt(file.csv,arr,delimiter=,)将arr数组存储为file.csv文件,其中字符串的分隔符为“,”。6、Numpy支持npy文件,npy文件与Matlab的mat文件相似,是Numpy支持的数据文件,load(file.npy)载入file.npy文件。7、save(file,arr,allow_pickle,fix_imports)将arr数组保存为file.npy文件,allow_pickle表示采用序列化的存储方式。52022/9/292 创建数组创建数组1、np.array()创建ndarray数组。np.array(1,2,3)可以创建一维数组,np.array(1,2,3),(4,5,6)创建二维数组,np.array(1,2,3,4,5,6,ndmin=3)创建一个三维数组。2、np.zeros()创建指定大小的数组,数组中的所有元素为0。order=C表示用于C语言的行数组,order=F表示用于Fortran语言的列数组。np.zeros(3)创建一个含有3个0元素的数组。3、np.ones()用于创建数组元素为1的指定形状的数组。np.ones(3,4)创建一个3行4列的数组。62022/9/292 创建数组创建数组4、np.linspace(start,stop,num)用于创建一个一维数组。数组是一个等差数列序列,start是序列的起始值,stop是序列的终止值,num是生成的等步长的样本数量。5、np.arange(start,stop,step,dtype)从数值范围创建数组,其中start是起始值,默认为0,stop为终止值(不包含),step是步长,默认为1,dtype返回ndarray的数据类型。6、np.eye(n,m,k,dtype,order)创建一个2维的对角矩阵,n是对角矩阵的行,m是对角矩阵的列,m默认与n相等,k是对角线的索引,np.eye(3,3)创建一个3行3列的对角矩阵。对角线的起始下标是1,而不是标准对角矩阵的0。72022/9/292 创建数组创建数组7、np.full(shape,fill_value,dtype,order)创建一个给定行、列的填充矩阵,填充值是fill_value,np.full(2,3),8)产生一个2行3列的数组,填充值是8。8、np.random.rand(d0,d1,.,dn)创建一个N维的随机数组,d0是第一个维度,d1是第二个维度,dn是第n个维度,随机数是0,1)均匀分布的抽样。np.random.rand(4,5)产生4行5列随机数组,数组元素值是0,1)均匀分布的抽样。9、numpy.random.randint(low,high,size,dtype)创建离散均匀分布的整数,整数值大于等于low,小于high。np.random.randint(5,size=(2,3)产生一个2行3列的随机整数数组,数组元素值在04之间。82022/9/293 查看变量属性查看变量属性1、ndarray.size返回数组的元素个数,np.array(1,2,3,4,5,6),有6个元素。2、ndarray.shape返回数组的形状,即ndarray的行、列数。3、ndarray.dtype返回ndarray数组元素的类型。4、ndarray.astype(dtype)将数组的元素类型转换为dtype类型,x=x.astype(float)将x由int32类型变量转化为float类型变量。5、ndarray.tolist()将数组转换为Python列表,x=x.tolist()将x由ndarray数组转化为Python的列表变量。92022/9/294 复制、排序和维度变化复制、排序和维度变化1、np.copy(ndarray)复制ndarray数组。2、ndarray.view(dtype)使用不同的数据类型构造数组的内存视图。3、arr.sort(axis)对arr的特定轴axis进行排序。4、arr.flatten()将二维数组arr转换为一维数组。5、arr.T表示对数组arr进行转置。6、arr.reshape(row,col)将数组arr进行变形。7、ndarray.resize(new_shape,refcheck=True)将数组重新调整行和列。102022/9/295 添加、删除元素添加、删除元素1、np.append(arr,values)在arr数组的尾部添加values。2、np.insert(arr,obj,values,axis=None)在数组指定的下标处插入新的元素,如x=np.array(1,2,3),np.insert(x,2,4)后,x返回值为array(1,2,4,3),即4被插入到x变量索引为2的位置。3、np.delete(arr,obj,axis)表示删除元素,如x=array(1,2,4,5),np.delete(x,1,axis=0)删除行索引为1的行,x的返回值为array(1,2),np.delete(x,1,axis=1)删除列索引为1的列,x的返回值为array(1,4)。112022/9/299.1.2 Numpy高级功能高级功能1、变量合并、分割2、索引、切片和子集3、标量运算4、向量运算5、统计122022/9/291 变量合并、分割变量合并、分割1、np.concatenate(a1,a2,.),axis,out)对a1、a2多个数组进行合并,其中合并的方向可以是按照行进行合并,或者按照列进行合并。2、np.split(ary,indices_or_sections,axis)将一个数组分割为多个子数组,其中ary是要分割的数组,axis=0按行分割,axis=1表示按照列分割。indices_or_sections为N时,表示将数组分割为N部分。indices_or_sections为数组时,表示按索引分割,np.split(x,1,3,axis=1)表示在第一列、第三列分割数组x。132022/9/292 索引、切片和子集索引、切片和子集1、Numpy支持的数组的索引下标从0开始。2、切片操作是对数组的一段区间的操作,切片与变量维度一致,区间变量之间使用“,”分割。切片区间的表达式是“start:stop”,其中的start表示切片的开始位置,stop表示切片的结束位置,不包括stop结束位置,如果x是一维数组,则x:2返回一维数组的0、1元素。3、子集筛选也是Numpy库的提供的一项功能,通过布尔条件可以对数组进行筛选,筛选后的返回值是与原数组相同维度的布尔数组,如x=np.array(1,2,3,4),则x3的返回值为array(True,True,False,False),xx3返回小于3的元素,返回值为array(1,2)。142022/9/293 标量运算标量运算1、Numpy在进行标量运算时,向量与标量的维度不同,因此首先需要利用广播机制(Broadcast)对不同形状(shape)的数组转化为相同的维度,然后再进行数值计算。如x=np.array(1,2,3,4),x+1调用广播机制,将1转化为np.array(1,1,1,1),然后与x相加,运算返回值为array(2,3,4,5)。2、np.add(arr,value)方法、np.subtract(arr,value)方法、np.multiply(arr,value)和np.divide(arr,value)都支持广播机制152022/9/294 向量运算向量运算1、np.add(arr1,arr2)2、np.subtract(arr1,arr2)3、np.multiply(arr1,arr2)4、np.divide(arr1,arr2)5、np.power(arr1,arr2)向量求幂6、np.sqrt(arr)求平方根7、np.sin(arr)求sine函数值8、np.log(arr)求对数值162022/9/295 统计统计1、np.mean(x,axis=0)2、np.sum(x,axis)求和函数3、np.min(x,axis)求最小值4、np.max(x,axis)求最大值5、np.var(x,axis)求方差6、np.std(x,axis)求标准差172022/9/299.1.3 Matplotlib结构结构182022/9/291.Pyplot和Pylab2.Matplotlib Fronted3.Backends4.Matplotlib支持的图表Matplotlib支持的图表支持的图表192022/9/299.2 Matplotlib常见图表常见图表202022/9/291、柱状图 2、plt.rcParams设置中文环境9.2 Matplotlib常见图表常见图表212022/9/29 堆积柱状图 设置Bar函数的bottom参数9.2 Matplotlib常见图表常见图表222022/9/29 分组柱状图 设置Bar函数的x轴位置,防止男性数据和女性数据的重叠9.2 Matplotlib常见图表常见图表232022/9/29 极坐标柱状图 plt.subplot(projection=polar)9.2 Matplotlib常见图表常见图表242022/9/29 误差柱状图 设置Bar函数的yerr参数9.2 Matplotlib常见图表常见图表252022/9/29 条形图 Barh()函数9.2 Matplotlib常见图表常见图表262022/9/29 饼图 pie函数9.2 Matplotlib常见图表常见图表272022/9/29 嵌套饼图 两次调用pie()函数9.2 Matplotlib常见图表常见图表282022/9/29 折线图 plot()9.2 Matplotlib常见图表常见图表292022/9/29 堆积折线图 stackplot()9.2.1 Matplotlib常见图表常见图表302022/9/29 散点图 9.2.2 高级绘图高级绘图312022/9/29 直方图 hist()函数,bins参数表示直方图间隔的数量9.2.2 高级绘图高级绘图322022/9/29 棉棒图 stem()9.2.2 高级绘图高级绘图332022/9/29 箱形图 boxplot()9.2.2 高级绘图高级绘图342022/9/29 误差棒图 errorbar()9.2.2 高级绘图高级绘图352022/9/29 阶梯图 step()9.2.2 高级绘图
展开阅读全文
温馨提示:
金锄头文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
相关搜索

当前位置:首页 > 高等教育 > 大学课件


电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号