欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

数据分析——pyecharts

程序员文章站 2022-07-23 22:58:30
导入类库 make_point:标注,类似于matplotlib的text is_stack:堆叠,将同一图表中的不同图像堆叠显示 is_label_show:显示每个数据的标注 is_datazoom_show:数据缩放显示 地图 堆叠柱状图 收缩柱状图 仪表盘 散点图 词云 饼图 网格容器 时间 ......

导入类库

1 from pyecharts import pie, bar, gauge, effectscatter, wordcloud, map, grid, line, timeline
2 import random

make_point:标注,类似于matplotlib的text

is_stack:堆叠,将同一图表中的不同图像堆叠显示

is_label_show:显示每个数据的标注

is_datazoom_show:数据缩放显示

地图

1 value = [120, 110]
2 attr = [u'河南', u'浙江']
3 map = map(u'map 结合 visualmap 示例', width=1200, height=600)
4 map.use_theme('dark')
5 map.add('', attr, value, maptype=u'china', is_visualmap=true, visual_text_color='#000')
6 map.render('map.html')

堆叠柱状图

1 attr = ['衬衫', '羊毛衫', '雪纺衫', '裤子', '高跟鞋', '袜子']
2 v1 = [5, 20, 36, 10, 75, 90]
3 v2 = [10, 25, 8, 60, 20, 80]
4 bar = bar('柱状图数据堆叠示例')
5 bar.add('商家a', attr, v1, mark_point=['average'], is_stack=true)
6 bar.add('商家b', attr, v2, mark_point=['min', 'max'], is_stack=true)
7 bar.render('bar.html')

收缩柱状图

1 attr = ['{}天'.format(i) for i in range(30)]
2 v1 = [random.randint(1, 30) for _ in range(30)]
3 bar = bar('bar - datazoom - slider示例')
4 bar.use_theme('dark')
5 bar.add('', attr, v1, is_label_show=true, is_datazoom_show=true, is_more_utils=true)
6 bar.render('bar_slider.html')
7 # 上面可以通过下面一句链式调用
8 # (bar().add().add().render())

仪表盘

1 gauge = gauge('仪表盘示例')
2 gauge.add('业务指标', '完成率', 66.66)
3 gauge.render('gauge.html')

散点图

1 v1 = [10, 20, 30, 40, 50, 60]
2 v2 = [25, 20, 15, 10, 60, 33]
3 es = effectscatter('动态散点图示例')
4 es.add('effectscatter', v1, v2)
5 es.render('effectscatter.html')

词云

1 name = [u'网络', u'数据分析.txt', u'hadoop', u'flask']
2 value = [10000, 6000, 4000, 3000]
3 wd = wordcloud(width=1300, height=620)
4 wd.add('', name, value, word_size_range=(20, 100))
5 wd.render('wordcloud.html')

饼图

1 attr = ['衬衫', '羊毛衫', '雪纺衫', '裤子', '高 跟鞋', '袜子']
2 v1 = [11, 12, 13, 10, 10, 10]
3 pie = pie('饼图示例')
4 # pie.use_theme('dark')
5 pie.add('服装', attr, v1, is_label_show=true)
6 pie.render('pie.html')

网格容器

 1 attr = ['衬衫', '羊毛衫', '雪纺衫', '裤子', '高 跟鞋', '袜子']
 2 v1 = [5, 20, 36, 10, 75, 90]
 3 v2 = [10, 25, 8, 60, 20, 80]
 4 bar = bar('柱状图示例', height=720)
 5 bar.add('商家a', attr, v1, is_stack=true)
 6 bar.add('商家b', attr, v2, is_stack=true)
 7 line = line('折线图示例', title_top='50%')
 8 attr = ['周一', '周二', '周三', '周四', '周五', '周六', '周日']
 9 line.add('最高气温',
10          attr,
11          [11, 11, 15, 13, 12, 13, 10],
12          mark_point=['max', 'min'],
13          mark_line=['average'],
14          )
15 line.add('最低气温',
16          attr,
17          [1, -2, 2, 5, 3, 2, 0],
18          mark_point=['max', 'min'],
19          mark_line=['average'],
20          legend_top='50%'
21          )
22 grid = grid()
23 grid.add(bar, grid_bottom='60%')
24 grid.add(line, grid_top='60%')
25 grid.render('grid.html')

时间线

 1 attr = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
 2 pie_1 = pie("2012 年销量比例", "数据纯属虚构")
 3 pie_1.add("秋季", attr, [random.randint(10, 100) for _ in range(6)],
 4           is_label_show=true, radius=[30, 55], rosetype='radius')
 5 
 6 pie_2 = pie("2013 年销量比例", "数据纯属虚构")
 7 pie_2.add("秋季", attr, [random.randint(10, 100) for _ in range(6)],
 8           is_label_show=true, radius=[30, 55], rosetype='radius')
 9 
10 pie_3 = pie("2014 年销量比例", "数据纯属虚构")
11 pie_3.add("秋季", attr, [random.randint(10, 100) for _ in range(6)],
12           is_label_show=true, radius=[30, 55], rosetype='radius')
13 
14 pie_4 = pie("2015 年销量比例", "数据纯属虚构")
15 pie_4.add("秋季", attr, [random.randint(10, 100) for _ in range(6)],
16           is_label_show=true, radius=[30, 55], rosetype='radius')
17 
18 pie_5 = pie("2016 年销量比例", "数据纯属虚构")
19 pie_5.add("秋季", attr, [random.randint(10, 100) for _ in range(6)],
20           is_label_show=true, radius=[30, 55], rosetype='radius')
21 
22 timeline = timeline(is_auto_play=true, timeline_bottom=0)
23 timeline.use_theme('dark')
24 timeline.add(pie_1, '2012 年')
25 timeline.add(pie_2, '2013 年')
26 timeline.add(pie_3, '2014 年')
27 timeline.add(pie_4, '2015 年')
28 timeline.add(pie_5, '2016 年')
29 timeline.render('timeline.html')