python第二十一课数据可视化使用pyecharts绘制图表2.docx

上传人:b****5 文档编号:7825721 上传时间:2023-01-26 格式:DOCX 页数:18 大小:584.51KB
下载 相关 举报
python第二十一课数据可视化使用pyecharts绘制图表2.docx_第1页
第1页 / 共18页
python第二十一课数据可视化使用pyecharts绘制图表2.docx_第2页
第2页 / 共18页
python第二十一课数据可视化使用pyecharts绘制图表2.docx_第3页
第3页 / 共18页
python第二十一课数据可视化使用pyecharts绘制图表2.docx_第4页
第4页 / 共18页
python第二十一课数据可视化使用pyecharts绘制图表2.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

python第二十一课数据可视化使用pyecharts绘制图表2.docx

《python第二十一课数据可视化使用pyecharts绘制图表2.docx》由会员分享,可在线阅读,更多相关《python第二十一课数据可视化使用pyecharts绘制图表2.docx(18页珍藏版)》请在冰豆网上搜索。

python第二十一课数据可视化使用pyecharts绘制图表2.docx

python第二十一课数据可视化使用pyecharts绘制图表2

一、使用pyecharts绘制图表

1、概述

进行web绘图,使用XX的echarts组件生成网页显示的图表。

使用javascript在网页中呈现图表要显示的数据。

2、pyecharts使用python语言调用XX的图形组件库进行web图形的绘制。

3、最终生成的文件都是网页文件,使用浏览器打开就能查看。

二、pyecharts的使用

1、安装pyecharts组件

pipinstallpyechrats

2、pyecharts常用的方法

(1)add(...)方法,用于加载要绘制的图表数据和配置。

(2)show_config();打印配置项信息

(3)render(“xxx.html”):

用于绘制生成html文件,当未指定要绘制的文件名称,默认render.html

3、绘制图表的基本步骤

(1)初始化图表类型

Xxx=图表类型()

例如,绘制柱图

mybar=Bar()

(2)添加配置项

xxx.add(.....)

(3)生成html文件

xxx.render(“xxx.html”)

三、pyecharts常用图的绘制

1、柱状图的绘制(使用pyecharts0.5.11版本)

frompyechartsimportBar

pnames=['方便面','饼干','火腿肠','卤蛋','花生米','榨菜']

pnums=[10,20,40,20,5,10]

mybar=Bar("商品销售图","商品季度销售统计")#第一个参数是主标题,第二个参数是副标题

mybar.add('商品信息',pnames,pnums)

mybar.show_config()

mybar.render("product_bar.html")

使用pyecharts1.9版本呈现柱状对比图

1、安装pyecharts1.9版本

(2)示例如下

frompyecharts.chartsimportBar#适用于pyecharts1.9版本

frompyechartsimportoptionsasopts

#创建柱状图对象

bar=Bar()

pnames=['方便面','饼干','火腿肠','卤蛋','花生米','榨菜']

pnum1=[10,20,40,20,5,10]

pnum2=[15,21,50,45,10,20]

#在x轴设置商品名称

bar.add_xaxis(pnames)

#在y轴设置商品的销售数量

bar.add_yaxis("淘宝店铺",pnum1)

bar.add_yaxis("京东商铺",pnum2)

#设置全局的标题信息

bar.set_global_opts(title_opts=opts.TitleOpts(title="商品销售数量",subtitle="淘宝和京东的销售对比图"),toolbox_opts=opts.ToolboxOpts(is_show=True))

#设置商品标题显示的位置,在顶部显示

bar.set_series_opts(label_opts=opts.LabelOpts(position="top"))

#生成html文档

bar.render("product2.html")

轴交换的效果

frompyecharts.chartsimportBar#适用于pyecharts1.9版本

frompyechartsimportoptionsasopts

#创建柱状图对象

bar=Bar()

pnames=['方便面','饼干','火腿肠','卤蛋','花生米','榨菜']

pnum1=[10,20,40,20,5,10]

pnum2=[15,21,50,45,10,20]

#在x轴设置商品名称

bar.add_xaxis(pnames)

#在y轴设置商品的销售数量

bar.add_yaxis("淘宝店铺",pnum1)

bar.add_yaxis("京东商铺",pnum2)

#设置全局的标题信息

bar.set_global_opts(title_opts=opts.TitleOpts(title="商品销售数量",subtitle="淘宝和京东的销售对比图"),toolbox_opts=opts.ToolboxOpts(is_show=True))

#设置商品标题显示的位置,在顶部显示

bar.set_series_opts(label_opts=opts.LabelOpts(position="right"))

bar.reversal_axis()#坐标旋转90°

#生成html文档

bar.render("product2.html")

2、使用pyecharts1.9版本生成饼图效果

frompyecharts.chartsimportPie#引入饼图组件,适用于pyecharts1.9版本

frompyechartsimportoptionsasopts

#定义集合数据

pnames=['方便面','饼干','火腿肠','卤蛋','花生米','榨菜']

pnums=[10,20,40,20,5,10]

#创建饼图对象

pie=Pie()

#添加饼图数据

pie.add("",[list(z)forzinzip(pnames,pnums)])

#设置全局的标题信息

pie.set_global_opts(title_opts=opts.TitleOpts(title="商品销售数量",subtitle="数量图例"),toolbox_opts=opts.ToolboxOpts(is_show=True))

#设置商品标题显示的位置,在顶部显示

pie.set_series_opts(label_opts=opts.LabelOpts(formatter="{b}:

{pie}"))

pie.render("product_pie.html")

环形图

frompyecharts.chartsimportPie#引入饼图组件,适用于pyecharts1.9版本

frompyechartsimportoptionsasopts

#定义集合数据

pnames=['方便面','饼干','火腿肠','卤蛋','花生米','榨菜']

pnums=[10,20,40,20,5,10]

#创建饼图对象

pie=Pie()

#添加环形图数据

pie.add("",[list(z)forzinzip(pnames,pnums)],radius=["40%","75%"])

#设置全局的标题信息

pie.set_global_opts(title_opts=opts.TitleOpts(title="商品销售数量"))

#设置商品标题显示的位置,在顶部显示

pie.set_series_opts(label_opts=opts.LabelOpts(formatter="{b}:

{pie}"))

pie.render("product_pie1.html")

绘制玫瑰图

frompyecharts.chartsimportPie#引入饼图组件,适用于pyecharts1.9版本

frompyechartsimportoptionsasopts

#定义集合数据

pnames=['方便面','饼干','火腿肠','卤蛋','花生米','榨菜']

pnums=[10,20,40,20,5,10]

#创建饼图对象

pie=Pie()

#添加环形图数据

#pie.add("",[list(z)forzinzip(pnames,pnums)],radius=["40%","75%"])

#绘制玫瑰图

pie.add("",[list(z)forzinzip(pnames,pnums)],radius=["40%","75%"],rosetype="area")

#设置全局的标题信息

pie.set_global_opts(title_opts=opts.TitleOpts(title="商品销售数量"))

#设置商品标题显示的位置,在顶部显示

pie.set_series_opts(label_opts=opts.LabelOpts(formatter="{b}:

{pie}"))

pie.render("product_pie1.html")

散点图

frompyecharts.chartsimportScatter

frompyechartsimportoptionsasopts

pnames=['方便面','饼干','火腿肠','卤蛋','花生米','榨菜']

pnums1=[10,20,40,20,5,10]#京东的商品销售数据

pnums2=[30,10,20,50,15,30]#淘宝的商品销售数量

#定义散点图对象

s=Scatter()

#添加x轴坐标的数据

s.add_xaxis(pnames)

#添加y轴的商评数量数据

s.add_yaxis('京东',pnums1)

s.add_yaxis('淘宝',pnums2)

s.set_global_opts(title_opts=opts.TitleOpts(title='散点图'),

toolbox_opts=opts.ToolboxOpts(is_show=True),

legend_opts=opts.LegendOpts(orient='vertical',pos_top='5%',pos_left="2%"))

s.set_series_opts(label_opts=opts.LabelOpts(position='top'))

s.render("sandian.html")

多图绘制

在一个页面呈现多图,需要使用网格对象grid添加绘制的图形

frompyecharts.chartsimportBar,Line,Pie,Grid

frompyechartsimportoptionsasopts

A=["小米","三星","华为","苹果","魅族","VIVO","OPPO"]

CA=[100,125,87,90,78,98,118]

B=["草莓","芒果","葡萄","雪梨","西瓜","柠檬","车厘子"]

CB=[78,95,120,102,88,108,98]

bar=Bar()

bar.add_xaxis(A)

bar.add_yaxis("商家A",CA)

bar.add_yaxis("商家B",CB)

bar.set_global_opts(title_opts=opts.TitleOpts(title="多图绘制"))

bar.render()

line=Line()

line.add_xaxis(B)

line.add_yaxis("商家A",CA)

line.add_yaxis("商家B",CB)

line.set_global_opts(title_opts=opts.TitleOpts(title="2图",pos_top="48%"),

legend_opts=opts.LegendOpts(pos_top="48%"))

line.render()

#绘制饼图

#定义集合数据

pnames=['方便面','饼干','火腿肠','卤蛋','花生米','榨菜']

pnums=[10,20,40,20,5,10]

#创建饼图对象

pie=Pie()

#添加环形图数据

#pie.add("",[list(z)forzinzip(pnames,pnums)],radius=["40%","75%"])

#绘制玫瑰图

pie.add("",[list(z)forzinzip(pnames,pnums)],radius=["40%","75%"],rosetype="area")

#设置全局的标题信息

pie.set_global_opts(title_opts=opts.TitleOpts(title="商品销售数量"))

#设置商品标题显示的位置,在顶部显示

pie.set_series_opts(label_opts=opts.LabelOpts(formatter="{b}:

{pie}"))

#===================================================

grid=Grid()#网格视图对象

grid.add(bar,grid_opts=opts.GridOpts(pos_bottom="60%"))#添加柱图,设置位置

grid.add(line,grid_opts=opts.GridOpts(pos_top="60%"))#添加折线图并设置位置

#grid.add(pie,grid_opts=opts.GridOpts(pos_right="10%"))

grid.render("myproduct.html")

雷达图

frompyecharts.chartsimportRadar

frompyechartsimportoptionsasopts#用以设置

radar=Radar()

#由于雷达图传入的数据得为多维数据,所以这里需要做一下处理

#2个系列的5个维度的数据

value1=[[0.79,0.90,0.46,0.57,-0.50]]

value2=[[0.11,0.34,0.31,-0.11,0.21]]

#用于调整雷达各维度的范围大小

c_schema=[{"name":

"O","max":

1,"min":

-1},

{"name":

"C","max":

1,"min":

-1},

{"name":

"E","max":

1,"min":

-1},

{"name":

"A","max":

1,"min":

-1},

{"name":

"N","max":

1,"min":

-1}]

#画图

radar=Radar()#创建雷达图对象

radar.add_schema(schema=c_schema)

radar.add("Alen",value1)

radar.add("Bella",value2)

radar.render("Rader.html")

柱状图和折线图合并图使用pyecharts0.5.11版本

frompyechartsimportBar

frompyechartsimportLine

frompyechartsimportStyle

frompyechartsimportPage

frompyechartsimportOverlap

defcreate_charts():

page=Page()

x=['{}年'.format(i)foriinrange(1,12)]

y=[3,5,3,5,3,4,5,3,5,2,4]

y1=[1,2,3,4,5,6,7,8,9,10,11]

style=Style(height=600,width=1400)

bar=Bar('柱形图',**style.init_style,background_color=['pink'])

line=Line()

line.add('',x,y,effect_scale=8)

line.add('',x,y1,effect_scale=10)

bar.add('商家A',x,y,mark_line=['average'],mark_point=['min','max'])

bar.add('商家B',x,y1,mark_line=['average'],mark_point=['min','max'],is_legend_show=True)

overlap=Overlap(height=450,width=1200)

overlap.add(bar)

overlap.add(line)

page.add(overlap)

returnpage

create_charts().render('1.html')

词云图

frompyechartsimportWordCloud#适用于pyecharts0.5.11版本

name=['SamSClub','Macys','AmySchumer','JurassicWorld','CharterCommunications','ChickFilA','PlanetFitness','PitchPerfect','Express','Home','JohnnyDepp','LenaDunham','LewisHamilton','KXAN','MaryEllenMark','FarrahAbraham','RitaOra','SerenaWilliams','NCAAbaseballtournament','PointBreak']

value=[10000,6181,4386,4055,2467,2244,1898,1484,1112,965,847,582,555,550,462,366,360,282,273,265]

wordcloud=WordCloud(width=1300,height=620)

wordcloud.add("",name,value,word_size_range=[20,100])

wordcloud.show_config()

wordcloud.render("wordcloud.html")

折线图-面积图示例

frompyechartsimportLine

attr=["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子"]

v1=[5,20,36,10,10,100]

v2=[55,60,16,20,15,80]

line=Line("折线图-面积图示例")

line.add("商家A",attr,v1,is_fill=True,line_opacity=0.2,area_opacity=0.4,symbol=None)

line.add("商家B",attr,v2,is_fill=True,area_color='#000',area_opacity=0.3,is_smooth=True)

line.show_config()

line.render("linearea.html")

3d柱状图

frompyechartsimportBar3D

bar3d=Bar3D("3D柱状图示例",width=1200,height=600)

x_axis=[

"12a","1a","2a","3a","4a","5a","6a","7a","8a","9a","10a","11a",

"12p","1p","2p","3p","4p","5p","6p","7p","8p","9p","10p","11p"

]

y_axis=[

"Saturday","Friday","Thursday","Wednesday","Tuesday","Monday","Sunday"

]

data=[

[0,0,5],[0,1,1],[0,2,0],[0,3,0],[0,4,0],[0,5,0],

[0,6,0],[0,7,0],[0,8,0],[0,9,0],[0,10,0],[0,11,2],

[0,12,4],[0,13,1],[0,14,1],[0,15,3],[0,16,4],[0,17,6],

[0,18,4],[0,19,4],[0,20,3],[0,21,3],[0,22,2],[0,23,5],

[1,0,7],[1,1,0],[1,2,0],[1,3,0],[1,4,0],[1,5,0],

[1,6,0],[1,7,0],[1,8,0],[1,9,0],[1,10,5],[1,11,2],

[1,12,2],[1,13,6],[1,14,9],[1,15,11],[1,16,6],[1,17,7],

[1,18,8],[1,19,12],[1,20,5],[1,21,5],[1,22,7],[1,23,2],

[2,0,1],[2,1,1],[2,2,0],[2,3,0],[2,4,0],[2,5,0],

[2,6,0],[2,7,0],[2,8,0],[2,9,0],[2,10,3],[2,11,2],

[2,12,1],[2,13,9],[2,14,8],[2,15,10],[2,16,6],[2,17,5],

[2,18,5],[2,19,5],[2,20,7],[2,21,4],[2,22,2],[2,23,4],

[3,0,7],[3,1,3],[3,2,0],[3,3,0],[3,4,0],[3,5,0],

[3,6,0],[3,7,0],[3,8,1],[3,9,0],[3,10,5],[3,11,4],

[3,12,7],[3,13,14],[3,14,13],[3,15,12],[3,16,9],[3,17,5],

[3,18,5],[3,19,10],[3,20,6],[3,21,4],[3,22,4],[3,23,1],

[4,0,1],[4,1,3],[4,2,0],[4,3,0],[4,4,0],[4,5,1],

[4,6,0],[4,7,0],[4,8,0],[4,9,2],[4,10,4],[4,11,4],

[4,12,2],[4,13,4],[4,14,4],[4,15,14],[4,16,12],[4,17,1],

[4,18,8],[4,19,5],[4,20,3],[4,21,7],[4,22,3],[4

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 成人教育 > 远程网络教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1