大数据可视化 第2版 课件 第13章 PyEcharts可视化分析_第1页
大数据可视化 第2版 课件 第13章 PyEcharts可视化分析_第2页
大数据可视化 第2版 课件 第13章 PyEcharts可视化分析_第3页
大数据可视化 第2版 课件 第13章 PyEcharts可视化分析_第4页
大数据可视化 第2版 课件 第13章 PyEcharts可视化分析_第5页
已阅读5页,还剩74页未读, 继续免费阅读

下载本文档

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

文档简介

面向新工科高等院校大数据专业系列教材大数据可视化(第2版)大数据可视化(第2版)第13章PyEcharts可视化分析所谓信息图表,就是信息的一种视觉化呈现。人类都是视觉动物,这是因为我们的大脑是视觉化的,也就是说大脑处理的内容的90%都以这样或那样的方式视觉化了,所以我们处理起这样的内容比处理文本要快得多。这一点也适用于网络。社交媒体上分享得最多的,最受欢迎的是图片。当你在网上发布类似于信息图表这样的东西时,流量增加量甚至多达12%。【导读案例】信息图表设计的10个简单步骤画图工具有很多,为什么还要学习使用PyEcharts?我们举例对比一下图形绘制的效果。先看用Matplotlib画的K线图,密密麻麻区分不了开盘价、最高价、最低价、收盘价。

图13-2Matplotlib画的K线图第13章PyEcharts可视化分析再看用PyEcharts画的K线图(gif),虽然也是密密麻麻的,但下方有个可伸缩的时间轴。通过滑动鼠标可以锁定想看到的数据。

图13-3PyEcharts画的K线图第13章PyEcharts可视化分析在图13-3中还可以任意显示或隐藏K线图的最高价和最低价,交互式操作给图形增加了额外的维度。而Matplotlib绘制出来的K线图则是静态的。PyEcharts有许多不错的3D图表,尤其是地图图表。前导安装:pipinstallpyechartsfrompyechartsimportBarfrompyechartsimportLine第13章PyEcharts可视化分析01柱状图02折线图03饼图04箱线图目录/CONTENTS05雷达图……08词云图PART01柱状图柱形图是数据分析中常用的图表,主要用于对比、展示趋势、描述等,柱形图虽然简单,但要将其用于不同的场合对数据的要求、布局、配色、分类间距、主要刻度线、以及变形图表的处理技巧,不是那么容易把握的。13.1柱状图【程序实例13-1】柱状图。程序如下,绘制效果如图所示。

图13-4柱状图示例13.1.1简单柱状图#画简单的柱状图(使用链式调用)#引入pyecharts库frompyecharts.globalsimportCurrentConfig,OnlineHostType,ThemeType,ChartType,SymbolTypefrompyecharts.chartsimportBarfrompyechartsimportoptionsasopts13.1.1简单柱状图#创建并设置barbar=(Bar(init_opts=opts.InitOpts(theme=ThemeType.WHITE))#设置主题.set_global_opts(title_opts=opts.TitleOpts(title="主标题",subtitle="副标题")) #设置标题.add_xaxis(["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子"]) #配置列.add_yaxis("商家X",[5,20,36,10,75,90]) #添加数据)#输出图表13.1.1简单柱状图#方法一:将图表渲染输出到html页面,需通过浏览器查看bar.render("bar.html")#如果不传参数,默认保存到当前文件夹下的render.html中,否则保存在参数中制定的文件中#方法二:直接在upyter中展示#bar.render_notebook()13.1.1简单柱状图【程序实例13-2】柱状-堆叠图。程序如下,绘制效果如图所示。

图13-5柱状-堆叠图示例13.1.2柱状-堆叠图#根据柱状图绘制堆叠图#引入pyecharts库frompyecharts.globalsimportCurrentConfig,OnlineHostType,ThemeType,ChartType,SymbolTypefrompyecharts.chartsimportBarfrompyechartsimportoptionsasoptsattr=["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子"] #设置列v1=[5,20,36,10,75,90] #商家A数据v2=[10,25,8,60,20,80] #商家B数据13.1.2柱状-堆叠图#创建并设置barbar=(Bar(init_opts=opts.InitOpts(theme=ThemeType.WHITE)) #设置主题.set_global_opts(title_opts=opts.TitleOpts(title="柱状图数据堆叠示例",subtitle="柱状图")) #设置标题

.add_xaxis(attr) #配置列

.add_yaxis(series_name="商家A",y_axis=v1,stack="stack1") #添加数据

.add_yaxis(series_name="商家B",y_axis=v2,stack="stack1") #添加数据

.set_series_opts(label_opts=opts.LabelOpts(is_show=False)) #不显示标志)#输出图表bar.render("bar2.html")13.1.2柱状-堆叠图【程序实例13-3】柱状图,添加标注。程序如下,绘制效果如图所示。

图13-6条形图示例13.1.2柱状-堆叠图#为横向柱状图添加标注点或者标注线#引入pyecharts库frompyecharts.globalsimportCurrentConfig,OnlineHostType,ThemeType,ChartType,SymbolTypefrompyecharts.chartsimportBarfrompyechartsimportoptionsasoptsattr=["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子"] #设置列v1=[5,20,36,10,75,90] #商家A数据v2=[10,25,8,60,20,80] #商家B数据13.1.2柱状-堆叠图#创建并设置barbar=(Bar(init_opts=opts.InitOpts(theme=ThemeType.WHITE,animation_opts=opts.AnimationOpts(animation_delay=10))).set_global_opts(title_opts=opts.TitleOpts(title="横向柱状图加标记示例",subtitle="柱状图")) #设置标题

.add_xaxis(attr) #配置列

.add_yaxis(series_name="商家A",y_axis=v1) #添加商家A数据13.1.2柱状-堆叠图#设置商家A标志点.set_series_opts(markpoint_opts=opts.MarkPointOpts(data=[opts.MarkPointItem(type_="max",name="最大值")])).add_yaxis(series_name="商家B",y_axis=v2) #添加商家B数据

.reversal_axis() #通过reversal_axis()反转x,y轴实现横向柱状图13.1.2柱状-堆叠图#设置标志线.set_series_opts(markline_opts=opts.MarkLineOpts(data=[opts.MarkLineItem(type_="max",name="最大值"),opts.MarkLineItem(type_="min",name="最小值")])).set_series_opts(label_opts=opts.LabelOpts(is_show=False))#不显示标志)#输出图表bar.render("bar3.html")13.1.2柱状-堆叠图PART02折线图13.2.1折线与平滑折线图13.2.2标注形状和颜色13.2.3折线–面积图13.2折线图【程序实例13-4】折线图。程序如下,绘制效果如图所示。

图13-7折线图13.2.1折线与平滑折线图#折线图Line#引入pyecharts库frompyecharts.chartsimportLinefrompyechartsimportoptionsasopts#设置列名columns=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]13.2.1折线与平滑折线图#设置数据data1=[2.0,4.9,7.0,23.2,25.6,76.7,135.6,162.2,32.6,20.0,6.4,3.3]data2=[2.6,5.9,9.0,26.4,28.7,70.7,175.6,182.2,48.7,18.8,6.0,2.3]#创建折线图对象line=(Line()#设置折线图的主标题与副标题

.set_global_opts(title_opts=opts.TitleOpts(title="折线图",subtitle="一年的降水量与蒸发量"))13.2.1折线与平滑折线图#添加折线图的数据及配置项

.add_xaxis(columns).add_yaxis("降水量",data1).add_yaxis("蒸发量",data2))#保存图表到line1.htmlline.render("line1.html")13.2.1折线与平滑折线图【程序实例13-5】平滑折线图。程序如下,绘制效果如图所示。

图13-8折线图示例13.2.1折线与平滑折线图#平滑折线图#引入pyecharts库frompyecharts.chartsimportLinefrompyechartsimportoptionsasopts#设置列名attr=["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子"]13.2.1折线与平滑折线图#设置数据v1=[5,20,36,10,75,90]v2=[10,25,8,60,20,80]#创建折线图对象line=(Line()#设置折线图的主标题与副标题

.set_global_opts(title_opts=opts.TitleOpts(title="折线图"))13.2.1折线与平滑折线图#添加折线图的数据及配置项

.add_xaxis(attr).add_yaxis("商家A",v1,is_smooth=True).set_series_opts(markpoint_opts=opts.MarkPointOpts(data=[opts.MarkPointItem(type_="max",name="最大值")])).add_yaxis("商家B",v2,is_smooth=True))#保存图表到line2.htmlline.render("line2.html")13.2.1折线与平滑折线图【程序实例13-6】折线图,添加形状和样式。程序如下,绘制效果如图所示。

图13-9添加标注形状和样式13.2.2标注形状和颜色#添加标注和样式的折线图#引入pyecharts库frompyecharts.chartsimportLinefrompyechartsimportoptionsasopts#设置列名attr=["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子"]#设置数据v1=[5,20,36,10,75,90]v2=[10,25,8,60,20,80]13.2.2标注形状和颜色#创建折线图对象line=(Line()#设置折线图的主标题与副标题

.set_global_opts(title_opts=opts.TitleOpts(title="折线图"))13.2.2标注形状和颜色#添加折线图的数据及配置项

.add_xaxis(attr).add_yaxis("商家A",v1,color="red",markline_opts=opts.MarkLineOpts(data=[opts.MarkLineItem(type_="min"),opts.MarkLineItem(type_="average"),opts.MarkLineItem(type_="max")]),markpoint_opts=opts.MarkPointOpts(symbol="diamond",data=[opts.MarkPointItem(type_="min"),opts.MarkPointItem(type_="average"),opts.MarkPointItem(type_="max")]),)13.2.2标注形状和颜色.add_yaxis("商家B",v2,color='green',symbol="triangle",symbol_size=20,markline_opts=opts.MarkLineOpts(data=[opts.MarkLineItem(type_="min"),opts.MarkLineItem(type_="average"),opts.MarkLineItem(type_="max")]),))#保存图表到line3.htmlline.render("line3.html")13.2.2标注形状和颜色【程序实例13-7】折线-面积图。程序如下,绘制效果如图所示。

图13-10折线-面积图示例13.2.3折线-面积图#折线-面积图#引入pyecharts库frompyecharts.chartsimportLinefrompyechartsimportoptionsasopts#设置列名attr=["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子"]#设置数据v1=[5,20,36,10,75,90]v2=[10,25,8,60,20,80]13.2.3折线-面积图#创建折线图对象arealineline=(Line()#设置折线图的主标题与副标题

.set_global_opts(title_opts=opts.TitleOpts(title="面积-折线图"))#添加折线图的数据及配置项

.add_xaxis(attr).add_yaxis("商家A",v1,color='green',areastyle_opts=opts.AreaStyleOpts(opacity=0.5)).add_yaxis("商家B",v2,color='gray',areastyle_opts=opts.AreaStyleOpts(opacity=0.3),is_smooth=True))#保存图表到line4.htmlarealineline.render("line4.html")13.2.3折线-面积图PART03饼图【程序实例13-8】饼图。程序如下,绘制效果如图所示。

图13-11饼图示例13.3饼图#饼图#引入pyecharts库frompyecharts.chartsimportPiefrompyechartsimportoptionsasopts#设置数据columns=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]data1=[2.0,4.9,7.0,23.2,25.6,76.7,135.6,162.2,32.6,20.0,6.4,3.3]13.3饼图#创建并配置饼图pie=(#初始化饼状图,设置宽度为900Pie(init_opts=opts.InitOpts(width="900px")) #初始化饼状图,设置宽度为900#设置主标题与副标题,标题设置居左

.set_global_opts(title_opts=opts.TitleOpts(title="饼状图",subtitle="一年的降水量",pos_left="0%",is_show=True))#加入数据

.add("降水量",[(i,j)fori,jinzip(columns,data1)]))#保存图表到Pie1.htmlpie.render(("Pie1.html"))13.3饼图【程序实例13-9】饼图。程序如下,绘制效果如图所示。

图13-12饼图示例13.3饼图#饼图#引入pyecharts库frompyecharts.chartsimportPiefrompyechartsimportoptionsasopts#设置数据attr=["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子"]v1=[5,20,36,10,75,90]13.3饼图#创建并配置饼图pie=(Pie()#加入数据

.add("",[list(z)forzinzip(attr,v1)],label_opts=opts.LabelOpts(position="outside",formatter="\n{b}:{c}")))#保存图表到Pie2.htmlpie.render(("Pie2.html"))13.3饼图【程序实例13-10】饼-圆环图。程序如下,绘制效果如图所示。

图13-13圆环图示例13.3饼图#饼-圆环图#引入pyecharts库frompyecharts.chartsimportPiefrompyechartsimportoptionsasopts#设置数据attr=["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子"]v1=[11,12,13,10,10,10]13.3饼图#创建并配置饼图pie=(Pie()#加入数据

.add(series_name="数据来源",data_pair=[list(z)forzinzip(attr,v1)],radius=["40%","75%"],label_opts=opts.LabelOpts(is_show=False,position="center"),)13.3饼图#设置标题、显示位置等.set_global_opts(title_opts=opts.TitleOpts(title="饼图-圆环图示例",is_show=True)).set_global_opts(legend_opts=opts.LegendOpts(pos_left="legft",orient="vertical")).set_series_opts(tooltip_opts=opts.TooltipOpts(trigger="item",formatter="{a}<br/>{b}:{c}({d}%)")))#保存图表到Pie3.htmlpie.render(("Pie3.html"))13.3饼图PART04箱线图【程序实例13-11】箱线图。程序如下,绘制效果如图所示。图13-14箱线图示例13.4箱线图#箱线图#导入箱线图-Boxplotfrompyecharts.chartsimportBoxplotfrompyechartsimportoptionsasopts#准备数据data=[[2.0,4.9,7.0,23.2,25.6,76.7,135.6,162.2,32.6,20.0,6.4,3.3],[2.6,5.9,9.0,26.4,28.7,70.7,175.6,182.2,48.7,18.8,6.0,2.3]]13.4箱线图#创建并配置箱型图boxplot=(Boxplot()#设置箱线图的主标题与副标题

.set_global_opts(title_opts=opts.TitleOpts(title="箱线图",subtitle="一年的降水量与蒸发量")))13.4箱线图#添加数据boxplot.add_xaxis(["降水量","蒸发量"])boxplot.add_yaxis("一年的降水量与蒸发量",boxplot.prepare_data(data))#保存图表到boxplot.htmlboxplot.render("boxplot.html")13.4箱线图PART05雷达图【程序实例13-12】雷达图。程序如下,绘制效果如图所示。

图13-15雷达图13.5雷达图#雷达图#导入雷达图-Radarfrompyecharts.chartsimportRadarfrompyechartsimportoptionsasopts#由于雷达图传入的数据得为多维数据,所以这里做一下处理radar_data1=[[2.0,4.9,7.0,23.2,25.6,76.7,135.6,162.2,32.6,20.0,6.4,3.3]]radar_data2=[[2.6,5.9,9.0,26.4,28.7,70.7,175.6,182.2,48.7,18.8,6.0,2.3]]13.5雷达图#设置column的最大值,为了雷达图更为直观,这里的月份最大值设置有所不同schema=[("Jan",5),("Feb",10),("Mar",10),("Apr",50),("May",50),("Jun",200),("Jul",200),("Aug",200),("Sep",50),("Oct",50),("Nov",10),("Dec",5)]13.5雷达图#创建并设置雷达图radar=(Radar()#设置折线图的主标题与副标题

.set_global_opts(title_opts=opts.TitleOpts(title="雷达图",subtitle="一年的降水量与蒸发量"))#传入坐标与数据

.add_schema(schema).add("降水量",radar_data1)13.5雷达图#一般默认为同一种颜色,这里为了便于区分,需要设置线样式中的颜色

.add("蒸发量",radar_data2,linestyle_opts=opts.LineStyleOpts(color="#1C86EE",opacity=0.6)))#保存图表到radar.htmlradar.render("radar.html")13.5雷达图PART06散点图【程序实例13-13】散点图。程序如下,绘制效果如图所示。

图13-16散点图13.6散点图#散点图#导入散点图Scatterfrompyecharts.chartsimportScatterfrompyechartsimportoptionsasopts13.6散点图#设置数据data=[[2.0,2.6],[4.9,5.9],[7.0,9.0],[23.2,26.4],[25.6,28.7],[76.7,70.7],[135.6,175.6],[162.2,182.2],[32.6,48.7],[20.0,18.8],[6.4,6.0],[3.3,2.3]]data.sort(key=lambdax:x[0])x_data=[d[0]fordindata]y_data=[d[1]fordindata]13.6散点图#创建并散点图scatter=(Scatter()#设置散点图的主标题与副标题

.set_global_opts(title_opts=opts.TitleOpts(title="散点图",subtitle="一年的降水量与蒸发量"))13.6散点图#由于显示问题,需要将y轴名与y轴距离进行设置

.add_xaxis(xaxis_data=x_data).add_yaxis(series_name="一年的降水量与蒸发量散点图",y_axis=y_data,symbol_size=20,label_opts=opts.LabelOpts(is_show=False),).set_series_opts().set_global_opts(xaxis_opts=opts.AxisOpts(type_="value",splitline_opts=opts.SplitLineOpts(is_show=True)),13.6散点图yaxis_opts=opts.AxisOpts(type_="value",axistick_opts=opts.AxisTickOpts(is_show=True),splitline_opts=opts.SplitLineOpts(is_show=True),),tooltip_opts=opts.TooltipOpts(is_show=True),))#保存图表到scatter1.htmlscatter.render("scatter1.html")13.6散点图PART07地图【程序实例13-14】地图。程序如下,绘制效果如图所示。

图13-17地图示例13.7地图#地图#导入所需的模块frompyechartsimportoptionsasoptsfrompyecharts.chartsimportMapvalue=[20,90,253,77,65]attr=["汕头市","汕尾市","揭阳市","阳江市","肇庆市"]13.7地图map=(Map().add("销售额",[list(z)forzinzip(attr,value)],"广东").set_global_opts(title_opts=opts.TitleOpts(title="Map-广东地图示例)"),legend_opts=opts.Legend

温馨提示

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

评论

0/150

提交评论