书签 分享 收藏 举报 版权申诉 / 96
上传文档赚钱

类型大数据导论思维第16章-PYTHON数据可视化课件.pptx

  • 上传人(卖家):三亚风情
  • 文档编号:3428951
  • 上传时间:2022-08-30
  • 格式:PPTX
  • 页数:96
  • 大小:8.66MB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《大数据导论思维第16章-PYTHON数据可视化课件.pptx》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    数据 导论 思维 16 PYTHON 可视化 课件
    资源描述:

    1、 大数据导论第十六章CONTENTS目录PART 01 PYTHON数据可视化工具PART 02 MATPLOTLIB可视化库PART 03 PANDAS可视化PART 04 SEABORN可视化模块PART 05 BOKEH可视化模块PART 06 PYGAL可视化模块PART 07 GEOPLOTLIB可视化模块PART 08 作业PART 01 PYTHON数据可视化工具在Python中,将数据可视化有多种选择,无论要画什么图,从最基本的图表到交互式的Web页面,都能找到相对的库。PYTHON数据可视化工具Python数据可视化工具 matplotlib Pandas Seaborn B

    2、okeh Pygal geoplotlibPART 02 matplotlib可视化库matplotlib是一个用于创建出版质量图表的桌面绘图包,它完整支持二维绘图以及部分支持三维绘图函数式绘图matplotlib有一套函数形式的绘图接口:matplotlib.pyplot模块。利用函数的调用,matplotlib可以轻松的利用一行命令来绘制直线,然后再用一系列的函数调整结果。下面的代码调用matplotlib.pyplot模块绘制一条直线#画一条直线:调用pyplot 函数from matplotlib.pyplot import*plot(0,1,0,1)#画一条从点(0,0)到点(1,1

    3、)的直线title(a strait line)#添加标题xlabel(x value)#添加x轴标题ylabel(y value)#添加y轴标题savefig(demo.jpg)#存储为jpg文件matplotlib可视化库import matplotlib.pyplot as pltx=1,2,3,4,5y=2.3,3.4,1.2,6.6,7.0plt.figure(figsize=(8,6)plt.subplot(2,2,1)plt.plot(x,y)plt.title(plot)plt.subplot(2,2,2)plt.scatter(x,y)plt.title(scatter)pl

    4、t.subplot(2,2,3)plt.bar(x,y)plt.title(bar)plt.subplot(2,2,4)plt.pie(y)plt.title(pie)show()在matplotlib.pyplot中,还包含其他种类的绘图函数,包括:折线、散点图、饼图、柱状图、等高线等。下面的代码使用一组数据,通过调用matplotlib.pyplot函数生成这些几何图形。matplotlib可视化库面向对象式绘图事实上,对象是描述图像的最自然的方式,面向对象编程最成功的领域就是在计算机图形方面。在matplotlib中,整个图像为一个Figure对象。在Figure对象中可以包含一个,或者

    5、多个Axes对象。每个Axes对象都是一个拥有自己坐标系统的绘图区域。面向对象式绘图每个Axes对象的绘图中只有一个坐标系区域,也就是ax,包含以下对象:ax:实际绘图的区域;title:图表的标题;data:要可视化的数据;xaxis和yaxis:x轴和y轴代表水平和垂直的轴线;tick:x轴和y轴的刻度,刻度标识坐标轴的分隔,包括最小刻度和最大刻度;lable:x轴和y轴的刻度标签:表示特定坐标轴的值。面向对象式绘图面向对象式绘图from matplotlib.figure import Figurefrom matplotlib.backends.backend_agg import F

    6、igureCanvasAgg as FigureCanvascanvas=FigureCanvas(fig)ax =fig.add_axes(0.1,0.1,0.8,0.8)line =ax.plot(0,1,0,1)ax.set_title(a straight line(OO)ax.set_xlabel(x value)ax.set_ylabel(y value)canvas.print_figure(demo.jpg)图像坐标将一张图的左下角视为原点,将图像的x方向和y方向总长度都看做1。x方向的0.2就是指20%的图像在x方向的总长,y方向0.8的长度指80%的y方向总长。(0.5,0

    7、.5)是图像的中点,(1,1)指图像的右上角。设置属性n 设置颜色、线型、和标记matplotlib允许用户改变线的各种属性,如线条风格、颜色或者宽度。根据要表达的信息合理地设置线型并明显地区分目标受众,能让图给观众流下更深刻的印象。matplotlib的plot函数接受一组X和Y坐标,可以接受一个表示颜色和线型的字符串缩写。例如,要根据x和y绘制绿色虚线,可以编写如下代码:plt.plot(x,y,g-)plt.plot(x,y,linestyle=-,color=g)设置属性from matplotlib.figure import Figurefrom matplotlib.backen

    8、ds.backend_agg import FigureCanvasAgg as FigureCanvasdata=randn(30).cumsum()fig =Figure()canvas=FigureCanvas(fig)plt =fig.add_axes(0.1,0.1,0.8,0.8)plt.plot(data,color=k,linestyle=dashed,linewidth=1.5,marker=o)#通过参数还可以设置线的宽度canvas.print_figure(demo2.jpg)通过设置线的属性,下述代码生成的图形就更加清晰明了设置属性n 设置刻度和标签刻度是图形的一部分

    9、,由刻度定位器指定刻度所在的位置,刻度格式器指定刻度显示的样式。修改X轴的刻度,最简单的办法是使用set_xticks和set_xticklabels。set_xticks:告诉matplotlib要将刻度放在数据范围中的哪些位置,缺省情况下位置的值就是刻度标记的值。set_xticklabels:设置刻度标签的值、字体、角度等plt.set_xticks(0,250,500,750,1000)plt.set_xticklabels(one,two,three,four,five,rotation=30,fontsize=small)设置属性设置属性n 设置图例和注解图例和注解清晰连贯地解释了

    10、数据图表的内容,通过给每个图表元素添加一个关于所显示数据的简短描述,能让用户更容易理解。设置图例和注解的方法是为每个subplot指导一个字符串标签,然后可以调用plt.legend()来自动创建图例。设置属性from matplotlib.figure import Figurefrom matplotlib.backends.backend_agg import FigureCanvasAgg as FigureCanvasfrom matplotlib.pyplot import matplotlib.pyplot as plt fig =Figure()canvas=FigureCan

    11、vas(fig)ax =fig.add_axes(0.1,0.1,0.8,0.8)ax.plot(randn(1000).cumsum(),k,label=one)ax.plot(randn(1000).cumsum(),k-,label=two)ax.plot(randn(1000).cumsum(),k.,label=three)ax.legend(loc=best)Show()设置属性在上述代码中,为每个图表元素指定了一个字符串标检,说明了颜色、线形状、标签值,这样legend()会把它们添加到图例框中。可以通过loc参数确定图例框的位置。这个参数是可选的,一般情况下,“best”是不错

    12、的选择,因为它会选择最不碍事的位置放置图例框定制绘图from matplotlib.figure import Figurefrom matplotlib.backends.backend_agg import FigureCanvasAgg as FigureCanvasfig =Figure()canvas=FigureCanvas(fig)ax =fig.add_axes(0.1,0.1,0.8,0.8)from matplotlib.path import Pathimport matplotlib.patches as patchesverts=(0.,0.),(0.,1.),(0.

    13、5,1.5),(1.,1.),(1.,0.),(0.,0.),codes=Path.MOVETO,Path.LINETO,Path.LINETO,Path.LINETO,Path.LINETO,Path.CLOSEPOLY,path=Path(verts,codes)patch=patches.PathPatch(path,facecolor=coral)ax.add_patch(patch)ax.set_xlim(-0.5,2)ax.set_ylim(-0.5,2)canvas.print_figure(demo.jpg)matplotlib实际上提供了更大的自由度,允许用户以更基础的方式来

    14、绘制图形,下面的代码可以绘制一个五边形图。matplotlib可视化库上面的代码首先确定顶点,然后构建了一个path对象,这个对象实际上就是5个顶点的连线。在codes中,先使用MOVETO将画笔移动到起点,然后依次用直线连接(LINETO)在path建立了封闭的5边形后,再在path的基础上构建了patch对象,是一个图形块。patch的背景颜色选为coral。最后,将这个patch对象添加到预先准备好的ax上,就完成了整个绘图。PART 03 Pandas可视化Pandas是基于Numpy构建的含有更高级数据结构和工具的数据分析包。使用Pandas的Series方法绘制图形import p

    15、andas as pdfrom pandas import Series,DataFrameimport numpy as pyimport matplotlib.pyplot as pltfrom numpy.random import randns_data=Series(randn(100)s_data.plot()plt.show()Series 可以看做一个定长的有序字典。基本任意的一维数据都可以用来构造 Series 对象。Series 对象包含两个主要的属性:index 和 values。使用Pandas的DataFrame方法绘制图形DataFrame 是一个表格型的数据结构,

    16、它含有一组有序的列(类似于 index),每列可以是不同的值类型。基本上可以把DataFrame看成是共享同一个index的Series的集合。from pandas import Series,DataFrame from numpy.random import randnimport numpy as npimport matplotlib.pyplot as pltdf=DataFrame(randn(10,5),columns=A,B,C,D,E,index=np.arange(0,100,10)df.plot()plt.show()使用DataFrame的plot方法绘制图像会按照数

    17、据的每一列绘制一条曲线,参数中的columns就是列的名称而index本来DataFrame的行名称。from pandas import Series,DataFrame from numpy.random import randnimport numpy as npimport matplotlib.pyplot as pltdf=DataFrame(randn(10,5),columns=A,B,C,D,E,index=np.arange(0,100,10)df.plot(kind=bar)plt.show()Seaborn是针对统计绘图的可视化模块,是在matplotlib的基础上进行

    18、了更高级的API封装,在默认情况下就能创建赏心悦目的图表,便于用户能够能够做出各种有吸引力的统计图表。PART 04 Seaborn可视化模块Seaborn简介Seaborn可视化模块具有如下特点:创建具有统计意义的图;默认情况下就能创建赏心悦目的图表;能理解pandas的DataFrame类型,所以它们一起可以很好地工作;增加调色板功能,利用色彩丰富的图像揭示数据中的模式;运用数据子集绘制与比较单变量和双变量分布的功能;运用聚类算法探究矩阵间的结构,可视化矩阵数据;可视化时间序列数据及不确定性的展示;利用网格建立复杂图像集,可在分割区域制图,用于复杂可视化。基本概念1.分组绘图分组绘图是指在

    19、一张图上可视化多个变量值。2.分面绘图分面绘图是指在一张纸上划分不同的区域,在不同的子区域上绘制不同的图形。3.统计绘图分组绘图的时候,需要先对分组变量使用统计函数,然后绘图。如果不使用统计绘图,就需要先用Pandas进行统计,然后再用Seaborn绘图,就会变得复杂数据集介绍n Tips数据集tips是一个客户用餐后付小费情况的数据集。每条数据包括7个数据项:餐费、小费、客户性别、是否抽烟、用餐日(周几)、用餐时间(中餐、晚餐)、人数。数据集共有144条记录total_billtipsexsmokerdaytimesize16.991.01FemaleNoSunDinner210.341.6

    20、6MaleNoSunDinner321.013.5MaleNoSunDinner323.683.31MaleNoSunDinner224.593.61FemaleNoSunDinner4数据集介绍n Titanic数据集titanic是一个关于Titanic乘客情况统计数据,包括了每个乘客的15项信息:Survived:是否获救,0=否,1=是;Pclass:票的等级,1=头等,2=2等,3=3等;Sex:性别,male/female;Age:年龄,如果小于1岁,就会用小数表示;Sibsp:同行夫妻/兄妹人数;Parch:同行父母/儿女人数;Fare:票价;Embarked:登船港口代码,S=

    21、Southampton,C=Cherbourg,Q=Queenstown;数据集介绍Class:票的等级,取值为First、Second、Third;Who:性别,取值为Man、Women;adult_male:是否成年男人,取值True、False;deck:甲板层号,取值A、B、C、D、E、F、G;embark_town:登船港口城市名,取值Southampton,Cherbourg,Queenstown;alive:是否获救,取值yes、no;alone:是否单人,取值True、false。乘客数据举例:(1,1,female,38.0,1,0,71.2833,C,First,woman

    22、,False,C,Cherbourg,yes,False)。分类散点图Seaborn的分类图分为三组:分类变量在每个类别上显示的观测值 抽象出每个观测值的分布 应用统计估计值显示中心趋势测量值的观测值和置信区间第一组包括函数swarmplot()和stripplot()第二组包括boxplot()和violinplot()第三组包括barplot()和pointplot()尽管这些函数都有其特定的参数用于控制该数据的可视化的详细信息,但这些函数都共用一套基础API来规范如何接收数据。分类散点图分类散点图用来显示变量在每个类别上的观测值。使用stripplot()可以非常简单的将某种分类别的数据

    23、展现在散点图上tips=sns.load_dataset(tips)sns.stripplot(x=day,y=total_bill,data=tips)plt.show()分类散点图在带状图中,散点图通常会重叠,使得很难看到数据的完全分布。解决方案是沿着分类轴使用一些随机的“抖动”来调整位置。tips=sns.load_dataset(tips)sns.stripplot(x=day,y=total_bill,data=tips,jitter=True)plt.show()也可以使用函数swarmplot(),它使用避免重叠点的算法定位分类轴上的每个散点图点,从而保障所有点都不重叠。tips

    24、=sns.load_dataset(tips)sns.swarmplot(x=day,y=total_bill,data=tips)plt.show()分类散点图带分布的散点图带分布的散点图值分布图n 箱线图箱线图是一种用作显示一组数据分散情况资料的统计图。其绘制须使用常用的统计量,能提供有关数据位置和分散情况的关键信息。箱形图提供了一种只用5个点对数据集做简单总结的方式。这5个点包括中点、Q1、Q3、分部状态的高位和低位。箱形图很形象的分为中心、延伸以及分布状态的全部范围。import seaborn as snssns.set_style(whitegrid)tips=sns.load_d

    25、ataset(tips)#分组绘制箱线图,分组因子是day,在x轴不同位置绘制ax=sns.boxplot(x=day,y=total_bill,data=tips)as.show()值分布图n 箱线图值分布图n 小提琴图小提琴图其实是箱线图与核密度图的结合,箱线图展示了分位数的位置,小提琴图则展示了任意位置的密度,通过小提琴图可以知道哪些位置的密度较高。在图中,白点是中位数,黑色盒型的范围是下四分位点到上四分位点,细黑线表示须(离散值)。外部形状即为核密度估计。在概率论中用来估计未知的密度函数,属于非参数检验方法之一。值分布图n 小提琴图import seaborn as snssns.se

    26、t_style(whitegrid)tips=sns.load_dataset(tips)#绘制小提琴图ax=sns.violinplot(x=tipstotal_bill)ax.show()值分布图n 小提琴图同样,可以使用分组因子进行分组,比如按照day分组绘图。进一步,还可以使用hue参数进一步分组,比如使用smoker作为hue因子。统计估计图进行数据统计分析时,通常需要显示值的集中趋势。Seaborn有两种主要方式来显示这些信息:条形图统计绘图会使用统计参数传入统计函数,从而可以在绘图的时候使用。这时会先对分组变量使用统计函数,然后绘图。缺省的统计函数是均值函数(means)。点图条

    27、形图的一种特殊情况是,想要显示每个类别中的观察值数量,而不是根据第二个维度变量的统计量。在Seaborn中,使用countplot()函数实现。统计估计图n 条形图显示值的集中趋势就是要展示每个类别中数据点的个数与第二个因子的关系,而不是每个类别中数据点的个数。比如说,需要了解在Titanic沉船事故中船票等级与获救的关系,就需要展示持有每个等级的船票的乘客的获救比例。titanic=sns.load_dataset(titanic)sns.swarmplot(x=sex,y=survived,hue=class,data=titanic)plt.show()统计估计图n 计数条形图条形图的一

    28、种特殊情况是,想要显示每个类别中的观察值数量,而不是根据第二个维度变量的统计量。在seaborn中,使用countplot()函数实现。统计估计图titanic=sns.load_dataset(titanic)sns.countplot(x=deck,data=titanic,palette=Greens_d)plt.show()可视化数据的分布图 n 单变量分布图在Seaborn中想要对单变量分布进行快速了解最方便的就是使用distplot()函数,默认情况下它将绘制一个直方图,并且可以同时画出核密度估计 1.直方图 2.核密度估计图 3.拟合参数分布图x=np.random.normal

    29、(size=100)sns.distplot(x,bins=20,kde=False,rug=True)sns.plt.show()可视化数据的分布图 1.直方图在Seaborn中最便捷的方式构造一个单变量分布是用distplot()方法。在绘制直方图时,如果想要指定数据段的多少可以通过参数bins来控制。密度曲线可以通过设置参数kde=False去掉。2.核密度估计图 要绘制核密度函数只需在displot()函数中通过参数hist把直方图抹掉即可。但是Seaborn中提供了专门的kdeplot()函数,它内部调用了distplot(),但提供了一个更直接的界面。kdeplot()的带宽参数b

    30、w控制估计与数据的拟合程度,非常类似于直方图中的bin大小。它对应于我们在上面绘制的内核的宽度。可视化数据的分布图 x=np.random.normal(size=100)sns.kdeplot(x,shade=True)plt.show()x=np.random.normal(size=100)sns.kdeplot(x,bw=2,label=bw:2)plt.show()可视化数据的分布图 3.拟合参数分布图还可以使用distplot()将参数分布拟合到数据集,并直观地评估它与观察数据的对应程度。实现的代码如下可视化数据的分布图 x=np.random.gamma(6,size=200)s

    31、ns.distplot(x,kde=False,fit=stats.gamma)sns.plt.show()Seaborn可以用jointplot()方法非常容易的绘制出联合变量、单变量的图。使用kind参数可以设置不同的图形反应两变量的关系,比如点图,线图,核密度图。1.生成多维正态分布数据 2.双变量散点分布图 3.双变量六边形分布图 4.双变量核密度估计图 可视化数据的分布图 n 双变量分布图 1.生成多维正态分布数据可视化数据的分布图#使用numpy,pandas生成多维正态分布数据mean,coy=0,1,(1,.5),(.5,1)#多元正态分布,200 rows data=np.r

    32、andom.multivariate_normal(mean,cov,200)df=pd.DataFrame(data,column=“x”,“y”)2.双变量散点分布图 Seaborn中是使用jointplot()方法。可视化数据的分布图 代码如下,#在一张图中三屏显示sns.jointplot(x=”x”,y=”y”,data=df)3.双变量六边形分布图 直方图的二元模拟称为六边形图,这个图对相对大的数据集非常有效,matplotlib的plt.hexbin()方法和jointplot()类似。可视化数据的分布图#六边形图x,y=np.random.multivariate_normal

    33、(mean,cov,1000).Twith sns.axes_style(“white”):sns.jointplot(x=x,y=y,kind=”hex”,color=”k”);sns.jointplot(x=”x”,y=”y”,data=df)3.双变量六边形分布图 可视化数据的分布图 4.双变量核密度估计图 在Seaborn中,核密度估计中使用轮廓图来可视化二维分布代码可视化数据的分布图 可视化线性回归关系图Seaborn中回归图主要是引导增强可视化,有助于数据分析中发现数据间关系。所以,Seaborn并不是一个数据分析包,它的目标时是通过更快速、更容易的可视化来探索数据关系。1.导入数

    34、据 2.线性回归函数图 3.离散值的线性回归图可视化线性回归关系图 1.导入数据首先导入各个数据分析包和Tips数据集。#导入数据分析包import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seaborn as snssns.set(color_codes=True)np.random.seed(sum(map(ord,“regression”)tips=sns.load_dataset(“tips”)可视化线性回归关系图 2.线性回归函数图在Seaborn中,有两个方法通过回归用于可视化线性关系:

    35、regplot()方法接受的输入参数x和y变量的格式;lmplot()方法必须有参数设置,并且x和y必须是字符串。#对tips数据使用regplot()方法进行可视化sns.regplot(x=”total_bill”,y=”tip”,data=tips);#对tips数据使用lmplot()方法进行可视化sns.lmplot(x=”total_bill”,y=”tip”,data=tips);可视化线性回归关系图 3.离散值的线性回归图当有其中一个变量是离散值时,可以对其进行线性回归拟合。但是,通过这种数据集生成的简单散点图往往不是最优的。一种选择是通过往离散数据中添加一些随机“抖动”,使得

    36、这些值得分布更加清晰;另一种选择是在置信区间内对中心趋势进行估计。可视化线性回归关系图#以size为横坐标的散点图sns.lmplot(x=”size”,y=”tip”,data=tips);#添加“抖动”到xsns.lmplot(x=”size”,y=”tip”,data=tips,x_jitter=.05);#沿置信区间绘制中心趋势估计图sns.lmplot(x=”size”,y=”tip”,data=tips,x_estimator=np.mean);带有带有“抖动抖动”的的线性回归图线性回归图置信区间中心趋势估计图置信区间中心趋势估计图多面板分类图绘制多分类的图形最主要使用的就是fac

    37、torplot()函数,使用factorplot()的主要优点是,很容易绘图同时观测其他分类变量以此来对照。sns.factorplot(x=time,y=total_bill,hue=smoker,col=day,data=tips,kind=box,size=4,aspect=.5)plt.show()热力图热力图是一个把变量的值通过在二维图上的颜色来表示的数据可视化方式。热力图经常以特殊高亮的形式显示访客热衷的页面区域和访客所在的地理区域。#绘制x-y-z的热力图,比如 年-月-乘客数量的热力图flights=sns.load_dataset(flights)flights=flight

    38、s.pivot(month,year,passengers)ax=sns.heatmap(flights)sns.plt.show()Bokeh是一个专门针对Web浏览器的呈现功能的交互式可视化Python库,可以以各种途径实现数据可视化。PART 05 Bokeh可视化模块Bokeh简介Bokeh与其它可视化库最核心的区别:Bokeh是一个专门针对Web浏览器的呈现功能的交互式可视化Python库。Bokeh数据可视化流程:Bokeh捆绑了多种语言(Python,R,lua和Julia)这些捆绑的语言产生了一个JSON文件,这个文件作为BokehJS(一个Java库)的一个输入 之后会将数据

    39、展示到Web浏览器上Bokeh图表的输出方式,可以是JSON对象、HTML文件或是交互式网络应用。Bokeh简介Bokeh数据可视化流程图:Bokeh简介Bokeh具有如下优势:Bokeh允许使用者通过简单的指令快速创建复杂的统计图;Bokeh可以提供到各种媒体,如HTML,Notebook文档和服务器的输出;Bokeh可以将可视化嵌入Flask和Django程序Bokeh可以转换其它可视化库(如matplotlib,Seaborn和ggplot)的可视化结果;Bokeh能灵活地将交互式应用、布局和不同样式选择用于可视化。用Bokeh实现可视化Bokeh提供了强大而灵活的功能,使其操作简单并高

    40、度定制化。它为用户提供了多级可视化界面的接口,以满足不同级别用户的需求。用Bokeh实现可视化l 图表(Charts):一个高级接口,用来简单快速地建立复杂的统计图表;l 绘图(Plotting):一个中级接口,以构建各种视觉符号为核心;l 模块(Models):一个低级接口,为应用程序开发人员提供最大的灵活性。Bokeh的图表接口Bokeh的图表(Charts)是一个高级接口,用于通过标准的可视化方式呈现信息。这些方式包括箱线图、柱状图、面积图、热图、甜甜圈图和许多其它图形。使用Bokeh的图表接口创建一个图表的通用步骤:导入库和函数/方法;准备数据 设置输出模式(Notebook文档、We

    41、b浏览器或服务器);创建图表并选择图表的样式(如果需要);可视化图表。柱状图使用Bokeh创建一个柱状图并在Web浏览器上显示。#导入库函数from bokeh.charts import Bar,output_file,show#在电脑屏幕上使用output_notebook来可视化数据#准备数据(数据模拟)data=“y”:1,2,3,4,5#输出到Line.HTMLoutput_file(“lines.html”,title=”line plot example”)#创建一个新的含有标题和轴标签的在线窗口p=Bar(data,title=“Line Chart Example”,xlab

    42、el=x,ylabel=values,width=400,height=400)#显示结果show(p)柱状图Bokeh绘制的柱状图:箱线图在Notebook文档中,利用箱线图比较IRIS数据集中的萼片长度(sepal length)和花瓣长度(petal length)的分布情况。#Iris数据集from sklearn.datasets import load_irisimport pandas as pdiris=load_iris()df=pd.DataFrame(iris.data)df.clumns=petal_width,petal_length,sepal_width,sepa

    43、l_length#导入库函数from bokeh.charts import BoxPlot,output_notebook,showdata=dfpetal_length,sepal_length箱线图#输出到电脑屏幕上output_notebook()#创建一个新的含有标题和轴标签的在线窗口p=BoxPlot(data,width=400,height=400)#显示结果show(p)箱线图Bokeh绘制的箱线图:线状图用Python基本数据类型list的一些数据画一个线状图,并包括缩放,区域选择,调整尺寸,保存等工具,是一个简答又直接的实现方式。from bokeh.plotting i

    44、mport figure,output_file,show#准备数据x=1,2,3,4,5 y=6,7,2,4,5#输出到static HTML 文件output_file(lines.html,title=line plot example)#创建一个新的含有标题和轴标签的图表p=figure(title=simple line example,x_axis_label=x,y_axis_label=y)#添加一个带有图标的线状图p.line(x,y,legend=Temp.,line_width=2)#显示结果show(p)线状图Bokeh绘制的线状图:Bokeh的绘图接口绘图是Bokeh

    45、的一个中级接口,是以构建视觉符号为核心的接口。在这里,用户可以综合各种视觉元素(点、圆、线、补丁和许多其它元素)和工具(悬停、缩放、保存、重置和其它工具)来创建可视化。使用Bokeh的绘图接口创建的图表自带一组默认的工具和视觉效果。绘图可按照以下步骤进行:导入库、方法或函数;选择输出方式(Notebook文档、Web浏览器、服务器);激活图(类似matplotlib);执行后续的绘图操作,这将影响已经生成的图形;图表可视化。二维散点图在Notebook文档中创建二维散点图(正方形标记)。from bokeh.plotting import figure,output_notebook,show

    46、#输出到电脑屏幕上output_notebook()p=figure(plot_width=400,plot_height=400)#添加一个矩形框,标有大小、颜色、alpha值p.square(2,5,6,4,2,3,2,1,2,size=20,color=”navy”)#显示结果show(p)二维散点图Bokeh绘制的二维散点图:两种视觉元素合并图将两种视觉元素合并在一张图中。from bokeh.plotting import figure,output_notebook,show#输出到电脑屏幕上output_notebook()p=figure(plot_width=400,plot

    47、_height=400)#添加一个矩形框,标有大小、颜色、alpha值p.square(2,5,6,4,2,3,2,1,2,size=20,color=”navy”)#添加一条线到已经存在的图形中p.line(1,2,3,4,5,1,2,2,4,5,line_width=2)#显示结果show(p)两种视觉元素合并图Bokeh绘制的两种视觉元素合并图:绘制悬停工具添加一个悬停工具和坐标轴标签。from bokeh.plotting import figure,output_notebook,showfrom bokeh.modles import HoverTool,BoxSelectTool

    48、#输出到电脑屏幕上output_notebook()#添加悬停工具TOOLS=BoxSelectTool(),HoverTool()p=figure(plot_width=400,plot_height=400,toos=TOOLS)#添加一个矩形框,标有大小、颜色、alpha值p.square(2,5,6,4,2,3,2,1,2,size=20,color=”navy”,alpha=0.5)绘制悬停工具#显示轴标签p.xaxis.axis_label=”X-axis”p.yaxis.axis_label=”Y-axis”#显示结果show(p)Bokeh绘制的悬停工具:绘制悬停工具Pygal

    49、用于创建SVG图表,也可以将结果存储为PNG文件。PART 06 Pygal可视化模块SVG(Scalable Vector Graphics)是可缩放的矢量图形,它是基于XML,由W3C联盟进行开发的。严格来说SVG应该是一种开放标准的矢量图形语言,可设计出激动人心的、高分辨率的Web图形页面。用户可以直接用代码来描绘图像,可以用任何文字处理工具打开SVG图像,通过改变部分代码来使图像具有交互功能,并可以随时插入到HTML中通过浏览器来观看。Pygal用于创建SVG图表,也可以将结果存储为PNG文件。Pygal可视化模块Pygal绘制的年度预算图:Pygal可视化模块Pygal 跟 Boke

    50、h一样,提供可直接嵌入网络浏览器的可交互图像,其主要区别在于可以将图表输出为SVG格式。如果处理的数据量相对小,SVG就够用了。但是如果有成百上千的数据点,SVG的渲染过程会变得很慢。geoplotlib 是一个用于制作地图和地理相关数据的工具箱。PART 07 geoplotlib可视化模块geoplotlib可视化模块geoplotlib 是一个用于制作地图和地理相关数据的工具箱。可以用它来制作多种地图,比如等值区域图,热度图,点密度图。Geoplotlib提供了一些常用的地图可视化方法:l dot:生成点密度图;l markers:展示客户定义的标记在地图上;l hist:为数据生成二维

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:大数据导论思维第16章-PYTHON数据可视化课件.pptx
    链接地址:https://www.163wenku.com/p-3428951.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库