Python 爬虫基础与实战 课件 第7章 数据可视化_第1页
Python 爬虫基础与实战 课件 第7章 数据可视化_第2页
Python 爬虫基础与实战 课件 第7章 数据可视化_第3页
Python 爬虫基础与实战 课件 第7章 数据可视化_第4页
Python 爬虫基础与实战 课件 第7章 数据可视化_第5页
已阅读5页,还剩101页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第7章数据可视化

数7.1Nmupy应用7.2pandas应用7.3matplotlib应用7.4pyecharts应用Numpy是外部库。这里所说的“外部”是指不包含在标准版Python中。因此,我们首先要导入Numpy库(importnumpyasnp)。1导入NumPy1.创建Numpy数组2Numpy数组2.NumPy数组的算术运算2Numpy数组NumPy数组广播2Numpy数组3.索引2Numpy数组4.聚合2Numpy数组1创建二维数组(矩阵)2.矩阵算术运算3Numpy二维数组数组广播3Numpy二维数组算术运算和矩阵运算的一个关键区别是矩阵乘法使用点乘。3Numpy二维数组3.矩阵索引和切片3Numpy二维数组4.矩阵聚合3Numpy二维数组5.转置和重塑3Numpy二维数组ndarray对象4Numpy的N维数组ndarray创建函数及描述4Numpy的N维数组函数描述np.array([x,y,z],dtype=int)从Python列表或元组创造数组np.arange(x,y,i)生成一个由x到y,以i为步长的数组np.linspace(x,y,n)生成一个由x到y,等分为n个元素的数组np.random.random(m,n)生成一个m行n列的[0,1)之间的随机浮点数数组np.ones((m,n),dtype)

生成一个m行n列全1的数组,dtype为数据类型np.zeros((m,n),dtype)生成一个m行n列全0的数组,dtype为数据类型np.fromfunction()从函数中生成数组ndarray基本属性及描述4Numpy的N维数组属性描述ndarray.ndim数组轴的个数,也称为秩ndarray.shape数组在每个维度上大小的整数元组ndarray.size数组元素的总个数ndarray.dtype数组元素的数据类型,dtype类型可以用于创建数组ndarray.itemsize数组中每个元素的字节大小ndarray.flat数组元素的迭代器ndarray类的处理数组形状方法及描述4Numpy的N维数组方法描述ndarray.reshape(shape)不改变数组,按照shape创建新的数组ndarray.resize()跟reshape()类似,但是改变所作用的数组ndarray.flatten()将多维数组转换成一维数组,返回一份拷贝,对拷贝修改不会影响原始矩阵ndarray.ravel()跟flatten()类似,返回视图,会影响原始矩阵numpy常用统计函数及描述4Numpy的N维数组函数描述np.sum()求和np.mean()求均值np.max()求最大值np.min()求最小值np.std()求标准偏差np.var()求方差np.cumsum()求累加值np.cumprod()求累乘积值7.1Nmupy应用7.2pandas应用7.3matplotlib应用7.4pyecharts应用Pandas是外部库。这里所说的“外部”是指不包含在标准版Python中。因此,我们首先要使用语句“importpandasaspd”导入Panda库。1导入Pandas库1.Series(1)Series的创建语法格式为:pd.Series(list,index=[]),第二个参数是Series中数据的索引使用数字序列作为索引创建Series。2pandas的数据结构介绍importnumpyasnp,pandasaspdarr=np.arange(5)aSer=pd.Series(arr)print(aSer)#由于我们没有为数据指定索引,于是会自动创建一个0到N-1(N为数据的长度)的整数型索引print(aSer.index)print(aSer.values)当要创建带有一个可以对各个数据点进行标记的索引的Series。2pandas的数据结构介绍importnumpyasnp,pandasaspdaSer=pd.Series([-1,2,-3,4],index=['d','c','b','a'])print(aSer)print(aSer.index)print(aSer.values)使用字典创建Series2pandas的数据结构介绍importnumpyasnp,pandasaspdsdata={'Lilei':6000,'Hanmeimei':7000,'Zhangsan':80000}ser=pd.Series(sdata)print(ser)importnumpyasnp,pandasaspdsdata={'Lilei':6000,'Hanmeimei':7000,'Zhangsan':80000}name=['Zhangsan','Hanmeimei','Lilei']ser=pd.Series(sdata,name)print(ser)你可以传入排好序的字典的键以改变顺序:(2)Series类型的操作Series类型索引、切片、运算的操作(如根据布尔型数组进行过滤、标量乘法、应用数学函数等)类似于ndarray。(1)根据标签索引的方式选取Series中的单个或一组值的,实例如下:2pandas的数据结构介绍importnumpyasnp,pandasaspdaSer=pd.Series([-1,2,-3,4],index=['d','c','b','a'])print(aSer['a'])print(type(aSer['a']))print(aSer[2:4])print(type(aSer['a']))aSer['a']=5print(aSer[['a','b']])print(type(aSer[['a','b']]))(2)Series运算示例如下:2pandas的数据结构介绍importnumpyasnp,pandasaspdaSer=pd.Series([-1,2,-3,4],index=['d','c','b','a'])print(aSer[aSer>0])print(aSer*2)print(np.exp(aSer))(2)Series运算示例如下:2pandas的数据结构介绍importnumpyasnp,pandasaspdaSer=pd.Series([-1,2,-3,4],index=['d','c','b','a'])print(aSer[aSer>0])print(aSer*2)print(np.exp(aSer))(3)还可以将Series看成是一个定长的有序字典,类似Python字典类型的操作,它可以用在许多原本需要字典参数的函数中,例如保留字in操作和.get()方法等。2pandas的数据结构介绍importnumpyasnp,pandasaspdaSer=pd.Series([-1,2,-3,4],index=['d','c','b','a'])print('a'inaSer)print(aSer.get('a'))(4)Series有一个重要功能,就是在算术运算中会根据运算的索引标签自动对齐数据。2pandas的数据结构介绍importnumpyasnp,pandasaspdaSer=pd.Series([-1,2,-3,4],index=['d','c','b','a'])bSer=pd.Series([-5,6,-7,8],index=['a','b','c','d'])print(aSer)print(bSer)print(aSer+bSer)2.DataFrame(1)DataFrame的创建pd.DataFrame(data,columns=[],index=[]):columns和index为指定的列、行索引,并按照顺序排列。2pandas的数据结构介绍importnumpyasnp,pandasaspddata={'name':['Lilei','Hanmeimei','Zhangsan'],'pay':[6000,7000,8000],'titile':['lecturer','associateprofessor','professor']}df=pd.DataFrame(data)print(df)print(df.dtypes)print(df.columns)print(df.index)(2)DataFrame的索引和值2pandas的数据结构介绍importnumpyasnp,pandasaspddata=np.array([('Lilei',6000,'lecturer'),('Hanmeimei',7000,'associateprofessor'),('Zhangsan',8000,'professor')])df=pd.DataFrame(data,index=range(1,4),columns=['name','pay','title'])print(df)print(df.index)print(df.columns)print(df.values)(3)查询DataFrame如果只查询一行、一列,返回的是pd.Series查询一列,返回的是pd.Series,2pandas的数据结构介绍importnumpyasnp,pandasaspddata={'name':['Lilei','Hanmeimei','Zhangsan'],'pay':[6000,7000,8000],'titile':['lecturer','associateprofessor','professor']}df=pd.DataFrame(data)print(df['name'])print(type(df['name']))查询一行,返回的是pd.Series,2pandas的数据结构介绍importnumpyasnp,pandasaspddata={'name':['Lilei','Hanmeimei','Zhangsan'],'pay':[6000,7000,8000],'titile':['lecturer','associateprofessor','professor']}df=pd.DataFrame(data)print(df.loc[1])print(type(df.loc[1]))如果查询多行、多列,返回的是pd.DataFrame查询多列2pandas的数据结构介绍importnumpyasnp,pandasaspddata={'name':['Lilei','Hanmeimei','Zhangsan'],'pay':[6000,7000,8000],'titile':['lecturer','associateprofessor','professor']}df=pd.DataFrame(data)print(df[['name','pay']])print(type(df[['name','pay']]))修改DataFrame添加列,直接赋值的方法,2pandas的数据结构介绍importnumpyasnp,pandasaspddata=np.array([('Lilei',6000,'lecturer'),('Hanmeimei',7000,'associateprofessor'),('Zhangsan',8000,'professor')])df=pd.DataFrame(data,index=range(1,4),columns=['name','pay','title'])df['sex']=['f','f','m']print(df)df.apply()方法2pandas的数据结构介绍importnumpyasnp,pandasaspddata=np.array([('Lilei',6000,'lecturer'),('Hanmeimei',7000,'associateprofessor'),('Zhangsan',8000,'professor')])df=pd.DataFrame(data,index=range(1,4),columns=['name','pay','title'])

defget_pay_type(x):ifpd.to_numeric(x['pay'],errors='coerce')>7000:return"高于平均水平"ifpd.to_numeric(x['pay'],errors='coerce')==7000:return"平均水平"ifpd.to_numeric(x['pay'],errors='coerce')<7000:return"低于平均水平"df['pay_type']=df.apply(get_pay_type,axis=1)#注意需要设置axis==1,这是series的index是columnsprint(df)df.assign()方法,它可以同时新增多个列2pandas的数据结构介绍importnumpyasnp,pandasaspddata=np.array([('Lilei',6000,'lecturer'),('Hanmeimei',7000,'associateprofessor'),('Zhangsan',8000,'professor')])df=pd.DataFrame(data,index=range(1,4),columns=['name','pay','title'])print(df.assign(tax=lambdax:(pd.to_numeric(x['pay'],errors='coerce')-5000)*0.1,year_pay=lambdax:pd.to_numeric(x['pay'],errors='coerce')*12)#可以同时添加多个新的列)按条件选择分组分别赋值2pandas的数据结构介绍importnumpyasnp,pandasaspdimportnumpyasnp,pandasaspddata=np.array([('Lilei',6000,'lecturer'),('Hanmeimei',7000,'associateprofessor'),('Zhangsan',8000,'professor')])df=pd.DataFrame(data,index=range(1,4),columns=['name','pay','title'])print(df.assign(tax=lambdax:(pd.to_numeric(x['pay'],errors='coerce')-5000)*0.1,year_pay=lambdax:pd.to_numeric(x['pay'],errors='coerce')*12))添加行 在loc位置增加一行2pandas的数据结构介绍importnumpyasnp,pandasaspddata=np.array([('Lilei',6000,'lecturer'),('Hanmeimei',7000,'associateprofessor'),('Zhangsan',8000,'professor')])df=pd.DataFrame(data,index=range(1,4),columns=['name','pay','title'])df.loc[5]={'name':'Liuxi','pay':5000,'title':'lecturer'}print(df)数据追加合并df.append(),将其他行附加到调用方的末尾,并返回一个新对象2pandas的数据结构介绍importnumpyasnp,pandasaspddata=np.array([('Lilei',6000,'lecturer'),('Hanmeimei',7000,'associateprofessor'),('Zhangsan',8000,'professor')])df=pd.DataFrame(data,index=range(1,4),columns=['name','pay','title'])tmpdata=np.array([('Zhoudafu',6000,'lecturer'),('Jinliufu',7000,'associateprofessor')])tmpdf=pd.DataFrame(tmpdata,index=range(4,6),columns=['name','pay','title'])print(df.append(tmpdf))pd.concat(),指的是多表之间的“拼接”,2pandas的数据结构介绍importnumpyasnp,pandasaspddata=np.array([('Lilei',6000,'lecturer'),('Hanmeimei',7000,'associateprofessor'),('Zhangsan',8000,'professor')])df=pd.DataFrame(data,index=range(1,4),columns=['name','pay','title'])tmpdata=np.array([('Zhoudafu',6000,'lecturer'),('Jinliufu',7000,'associateprofessor')])tmpdf=pd.DataFrame(tmpdata,index=range(5,7),columns=['name','pay','title'])newdf=[df,tmpdf]print(pd.concat(newdf))根据行索引删除2pandas的数据结构介绍importnumpyasnp,pandasaspddata=np.array([('Lilei',6000,'lecturer'),('Hanmeimei',7000,'associateprofessor'),('Zhangsan',8000,'professor')])df=pd.DataFrame(data,index=range(1,4),columns=['name','pay','title'])print(df.drop(2))根据列名删除2pandas的数据结构介绍importnumpyasnp,pandasaspddata=np.array([('Lilei',6000,'lecturer'),('Hanmeimei',7000,'associateprofessor'),('Zhangsan',8000,'professor')])df=pd.DataFrame(data,index=range(1,4),columns=['name','pay','title'])print(df.drop('title',axis=1))修改列2pandas的数据结构介绍importnumpyasnp,pandasaspddata=np.array([('Lilei',6000,'lecturer'),('Hanmeimei',7000,'associateprofessor'),('Zhangsan',8000,'professor')])df=pd.DataFrame(data,index=range(1,4),columns=['name','pay','title'])df['title']='professor'print(df)修改行2pandas的数据结构介绍importnumpyasnp,pandasaspddata=np.array([('Lilei',6000,'lecturer'),('Hanmeimei',7000,'associateprofessor'),('Zhangsan',8000,'professor')])df=pd.DataFrame(data,index=range(1,4),columns=['name','pay','title'])df.loc[2]=['Hanmeimei',7200,'associateprofessor']print(df)1.读取数据(1)读取文本文件:读取csv数据集文件:pd.read_csv(filepath_or_buffer,header,names),文件名参数——filepath_or_buffer。读取txt文件(2)读取xlsx格式或Excel文件3数据存取2.写入文件3数据存取importnumpyasnp,pandasaspddf=pd.DataFrame(np.random.randn(4,5))df.to_csv('a.csv') #DataFrame写入csv文件df.to_excel('a.xlsx',sheet_name='Movie')df.to_json('a.json')#DataFrame写入到json文件df.to_html('a.html')#DataFrame写入到html文件3.数据选取(0)读取数据(1)df.loc[行标签,列标签]方法,根据行、列的标签值查询使用单个label值查询数据使用值列表批量查询使用数值区间进行范围查询(既包含开始也包含结束)行index按区间查询。列index按区间查询。行和列index都按区间查询。使用条件表达式查询(bool列表的长度等于行数或列数)调用函数查询:直接写lambda表达式3数据存取(2)df.iloc方法,根据行,列的数字位置查询行或者列,都可以只传入单个值,实现精确匹配行只传入单个值,iloc提取行数据列只传入单个值,iloc提取列数据iloc提取指定行、指定列数据使用值列表批量查询调用函数查询使用数值区间进行切片行index按区间查询列index按区间查询行和列index都按区间查询调用函数查询:直接写lambda表达式3数据存取3数据存取类型描述df[val]从DataFrame选取单列或一组列;在特殊情况下比较便利:布尔型数组(过滤行)、切片(行切片)、或布尔型DataFrame(根据条件设置值)df.loc[val]通过标签,选取DataFrame的单个行或一组行df.loc[:,val]通过标签,选取单列或列子集df.loc[val1,val2]通过标签,同时选取行和列df.iloc[where]通过整数位置,从DataFrame选取单个行或行子集df.iloc[:,where]通过整数位置,从DataFrame选取单个列或列子集df.iloc[where_i,where_.j]通过整数位置,同时选取行和列(3)df.where方法df.where(cond)可以过滤不满足cond的值并赋予NaN空值df.where(cond,other)赋予other值得用法df.where从主体df出发,True返回df本身的值,否则返回other的值;去掉特定的某行某列3数据存取

(4)df.query方法使用布尔表达式查询DataFrame的列,也就是按照DataFrame中某列的规则进行过滤操作。3数据存取(0)读取数据4数据统计与分析importnumpyasnp,pandasaspddf=pd.read_excel('score.xls',encoding='utf-8')#读取学生成绩表print(df)(1)汇总类统计describe()函数提取所有数字列统计结果,提供了非NaN值的数量,平均值mean,标准差std,最小值min,最大值max以及1/4,1/2,3/4分位数。count()求非NaN值的数量,mean()函数求平均值,max())求最大值,min()求最小值等4数据统计与分析importnumpyasnp,pandasaspddf=pd.read_excel('score.xls',encoding='utf-8')#读取学生成绩表print(df.describe())#查看表头print(df['语文'].mean())#查看单个Series的数据,求语文的平均值print(df['语文'].max())#语文最高分print(df['语文'].min())#语文最低分(2)唯一去重和按值计数4数据统计与分析importnumpyasnp,pandasaspddf=pd.read_excel('score.xls',encoding='utf-8')#读取学生成绩表print(df['道德法治'].unique())#唯一去重importnumpyasnp,pandasaspddf=pd.read_excel('score.xls',encoding='utf-8')#读取学生成绩表print(df['道德法治'].value_counts())#按值计数1.concatconcat是使用某种合并方式(inner/outer)沿着某个轴向(行还是列,axis=0/1)把多个Pandas对象(Series/DataFrame)合并成一个。pd.concat(objs,axis=0,join='outer',join_axes=None,ignore_index=False)objs–可以是Series或者DataFrame,可以混合。axis-{0,1,...},这是连接的轴。默认为0,按行合并。若等于1,按列合并join-{'inner','outer'},合并时候索引对齐方式。默认outerjion,也可以是innerjion。ignore_index−布尔值,默认为False。如果指定为True,则忽略连接轴上的索引值。结果轴将被标记为:0,...,n-1。join_axes-这是Index对象的列表。用于其他(n-1)轴的特定索引,而不是执行内部/外部集逻辑。5数据合并2.mergemerge(left,right,how='inner',on=None,left_on=None,right_on=None,left_index=False,right_index=False,sort=True,suffixes=('_x','_y'),copy=True,indicator=False,validate=None)left:拼接的左侧DataFrame对象right:拼接的右侧DataFrame对象how:join类型,left,right,outer,inner.

默认inner。inner是取交集,outer取并集.on:要加入的列或索引级别名称。必须在左侧和右侧DataFrame对象中找到。如果未传递且left_index和right_index为False,则DataFrame中的列的交集将被推断为连接键。5数据合并left_on:左侧DataFrame中的列或索引级别用作键。可以是列名,索引级名称,也可以是长度等于DataFrame长度的数组。right_on:左侧DataFrame中的列或索引级别用作键。可以是列名,索引级名称,也可以是长度等于DataFrame长度的数组。left_index:如果为True,则使用左侧DataFrame中的索引(行标签)作为其连接键。对于具有MultiIndex(分层)的DataFrame,级别数必须与右侧DataFrame中的连接键数相匹配。right_index:与left_index功能相似。sort:按字典顺序通过连接键对结果DataFrame进行排序。默认为True,设置为False将在很多情况下显着提高性能。suffixes:用于重叠列的字符串后缀元组。默认为(‘x’,’y’)。copy:始终从传递的DataFrame对象复制数据(默认为True),即使不需要重建索引也是如此。indicator:将一列添加到名为_merge的输出DataFrame,其中包含有关每行源的信息。_merge是分类类型,并且对于其合并键仅出现在“左”DataFrame中的观察值,取得值为left_only,对于其合并键仅出现在“右”DataFrame中的观察值为right_only,并且如果在两者中都找到观察点的合并键,则为left_only。5数据合并suffixes:用于重叠列的字符串后缀元组。默认为(‘x’,’y’)。copy:始终从传递的DataFrame对象复制数据(默认为True),即使不需要重建索引也是如此。indicator:将一列添加到名为_merge的输出DataFrame,其中包含有关每行源的信息。_merge是分类类型,并且对于其合并键仅出现在“左”DataFrame中的观察值,取得值为left_only,对于其合并键仅出现在“右”DataFrame中的观察值为right_only,并且如果在两者中都找到观察点的合并键,则为left_only。5数据合并7.1Nmupy应用7.2pandas应用7.3matplotlib应用7.4pyecharts应用Matplotlib官网http://https:///genindex.html首先使用importmatplotlib.pyplotasplt语句引入matplotlib.pyplot子模块的别名plt。1导入Pandas库2绘图基础(1)plot颜色和线型设置符号颜色bblueggreenrredccyanmmagentaYyellowkblackwwhite线型描述'-'solid'--'dashed'-.'dash_dot':'dotted'None'drawnothing''drawnothing''drawnothing2绘图基础(2)pyplot绘图区域函数Figure对象:创建画布

figure()函数创建一个全局绘图区域,figure语法说明:figure(num=None,figsize=None,dpi=None,facecolor=None,edgecolor=None,frameon=True)参数如下:num:图像编号或名称,数字为编号,字符串为名称figsize:指定figure的宽和高,单位为英寸;dpi参数指定绘图对象的分辨率,即每英寸多少个像素,缺省值为80

facecolor:背景颜色edgecolor:边框颜色frameon:是否显示边框2绘图基础划分子图Figure对象允许将整个绘图区域划分为若干个子绘图区域,每个子绘图区域中都包含一个Axes对象,该对象具有属于自己的坐标系统。轴域axes语法说明:plt.axes(rect,**kwargs)参数说明:rect:

基于figure坐标系统定义的是位置参数,接受一个4元素的浮点数列表,[left,bottom,width,height],它定义了要添加到figure中的矩形子区域的:左下角坐标(x,y)、宽度、高度。2绘图基础subplot()函数划分子图subplot(nrows,ncols,index)函数会先将整个绘图区域等分为“nrows(行)*ncols(列)”的矩阵区域,并按照先行后列的计数方式对每个子区域进行编号,编号默认从1开始,后在index的位置上生成一个坐标系。2绘图基础(3)设置中文字体在向图表添加中文文字时候常常无法显示,这时只要使用下面的命令将默认字体改成中文字体就可以了:plt.rcParams["font.sans-serif"]="SimHei"中文字体英文描述中文字体英文描述宋体SimSun仿宋FangSong黑体SimHei楷体KaiTi微软雅黑MicrosoftYaHei隶书LiSu微软正黑体MicrosoftJhengHei幼圆YouYuan2绘图基础(4)设置坐标轴函数描述plt.xlim(xmin,xmax)设置当前x轴取值范围plt.ylim(ymin,ymax)设置当前y轴取值范围plt.axis('v';'off,'equal','scaled';'tight''image')获取设置轴属性的快捷方法plt.xscale()设置x轴缩放plt.yscale()设置y轴缩放plt.autoscale()自动缩放轴视图的数据plt.text(x,y,s,fontdic,withdash)为axes图轴添加注释2绘图基础(5)设置标签函数描述plt.figlegend(handles,labe1,loc)为全局绘图区域绘制图例plt.legend()为当前坐标系绘制图例plt.xlabel(s)设置当前x轴的标签plt.ylabel(s)设置当前y轴的标签plt.xticks(array,'a','b','c')设置当前x轴刻度位置的标签和值plt.yticks(array,'a','b','c')设置当前y轴刻度位置的标签和值plt.clabel(cs,v)为等值线图设置标签plt.get_figlabels0返回当前绘图区域的标签列表plt.figtext(x,y,s,fontdic)为全局绘图区域添加文字plt.title()设置子标题plt.suptitle()设置全局标题plt.text(x,y,s,fontdic,withdash)为坐标图轴添加注释plt.annotate(note,xy,xytext,xycoords,textcoords,arrowprops)用箭头在指定数据点创建一个注释或一段文本3绘制图形(1)绘制点图scatter(x,y,scale,color,marker,label)参数说明默认值x

数据点的x坐标不可省略y数据点的y坐标不可省略scale数据点的大小36color数据点的颜色

marker数据点的样式’o’(圆点)label图例文字

3绘制图形marker参数3绘制图形

3绘制图形(2)绘制线图plot(x,y,color,marker,label,linewidth,markersize)参数说明默认值x

数据点的x坐标不可省略y数据点的y坐标不可省略color数据点的颜色

marker数据点的样式’o’(圆点)label图例文字

linewidth折线的宽度

markersize数据点的大小

3绘制图形(2)绘制线图plot(x,y,color,marker,label,linewidth,markersize)3绘制图形(3)饼图matplotlib.pyplot.pie(x,explode=None,labels=None,colors=None,autopct=None,pctdistance=0.6,shadow=False,labeldistance=1.1,startangle=None,radius=None,counterclock=True,wedgeprops=None,textprops=None,center=(0,0),frame=False,rotatelabels=False,hold=None,data=None)3绘制图形

pie()函数的主要参数参数说明默认值x

数组。输入的数据用于创建一个饼图。不可省略Explodelist,每一部分离开中心点的距离,元素数目与x相同且一一对应不可省略Labelslist,设置各类的标签,元素一一对应

Colorslist,设置为各部分染色列表,元素一一对应’o’(圆点)startangle起始绘制角度,默认图是从x轴正方向逆时针画起,如设定=90则从y轴正方向画起

shadow显示阴影

Falselabeldistancelabels标签位置,相对于半径的比例1.1radius控制饼图半径13绘制图形(3)饼图3绘制图形(4)柱形图bar(left,height,width,facecolor,edgecolor,label)参数说明默认值leftx轴的位置序列,采用arange函数产生一个序列;不可省略heighty轴的数值序列,也就是柱形图的高度不可省略alpha透明度

width柱形图的宽度0.8color柱形图填充的颜色

edgecolor图形边缘颜色

label图例文字

linewidth折线的宽度

3绘制图形

(5)箱型图plt.boxplot(x,notch=None,sym=None,vert=None,whis=None,positions=None,widths=None,patch_artist=None,meanline=None,showmeans=None,showcaps=None,showbox=None,showfliers=None,boxprops=None,labels=None,flierprops=None,medianprops=None,meanprops=None,capprops=None,whiskerprops=None)3绘制图形

boxplot()函数的主要参数参数说明默认值x指定要绘制箱线图的数据不可省略notch是否是凹口的形式展现箱线图,默认非凹口;

sym透明度+vert是否需要将箱线图垂直摆放垂直摆放whis指定上下须与上下四分位的距离1.5倍的四分位差;positions指定箱线图的位置[0,1,2…]widths指定箱线图的宽度0.5meanline是否用线的形式表示均值默认用点来表示;showmeans是否显示均值不显示showcaps是否显示箱线图顶端和末端的两条线显示showbox是否显示箱线图的箱体显示showfliers是否显示异常值显示boxprops设置箱体的属性,如边框色,填充色等

labels为箱线图添加标签,类似于图例的作用

filerprops设置异常值的属性,如异常点的形状、大小、填充色等;

medianprops设置中位数的属性,如线的类型、粗细等;

meanprops设置均值的属性,如点的大小、颜色等;

capprops设置箱线图顶端和末端线条的属性,如颜色、粗细等;

whiskerprops设置须的属性,如颜色、粗细、线的类型等;

3绘制图形

(5)箱型图:boxplot()函数3绘制图形7.1Nmupy应用7.2pandas应用7.3matplotlib应用7.4pyecharts应用首先进入官网下载https:///project/pyecharts/1.7.1/#files。下载好后,找到anaconda的安装文件夹中的scripts文件夹,然后将下载的whl文件复制到这个文件夹中。打开AnacondaPrompt输入cdD:\tools\Anaconda3\Scripts进入文件夹然后输入pipinstallpyecharts-1.7.1-py3-none-any.whl1Anaconda中安装pyechartsPyecharts的绘图逻辑如下:第一步,我们需要选定图表类型,比如我要画线型的话,就选择Pyecharts里面的Line函数去进行绘制。第二步,去相应的函数里面去添加相应的数据。第三步,进行全局参数设置。第四步,把我们上面做出来的图表在我们的JupyterNotebook上显示,或者保存为一个html文件到我们当前的工作路径里面。2Pyecharts绘图逻辑(1)选择图表类型frompyecharts.chartsimportScatter#导入散点图frompyecharts.chartsimportLine#导入折线图frompyecharts.chartsimportPie#导入饼图frompyecharts.chartsimportGeo#导入地图2Pyecharts绘图逻辑2Pyecharts绘图逻辑函数说明Scatter散点图Funnel漏斗图Bar柱状图Gauge仪表盘Pie饼图Graph关系图Line折线/面积图Liquid

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论