Python数据可视化pyecharts实现各种统计图表过程详解

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Python数据可视化pyecharts实现各种统计图表过程详解
1、pyecharts介绍
Echarts是⼀款由百度公司开发的开源数据可视化JS库,pyecharts是⼀款使⽤python调⽤echarts⽣成数据可视化的类库,可实现柱状图,折线图,饼状图,地图等统计图表。

2、柱状图
适⽤场合是⼆维数据集(每个数据点包括两个值x和y),但只有⼀个维度需要⽐较,⽤于显⽰⼀段时间内的数据变化或显⽰各项之间的⽐较情况。

优点:利⽤柱⼦的⾼度,反映数据的差异,⾁眼对⾼度差异很敏感。

缺点:只适⽤中⼩规模的数据集。

柱状图最基本⽤法
from pyecharts import Bar
fruits = ['苹果','⾹蕉','凤梨','桔⼦','橙','桃⼦']
sales = [18888,20023,30989,8873,29876,5409]
bar = Bar('⽔果销售情况')
bar.add('',fruits,sales,is_stack=True)
(bar.render())
add()⽅法⽤于添加数据。

当要⽐较不同商家⽔果销量情况,只需多次调⽤add()⽅法:
from pyecharts import Bar
fruits = ['苹果','⾹蕉','凤梨','桔⼦','橙','桃⼦']
shop1_sales = [8888,3323,6989,8873,3876,15409]
bar = Bar('⽔果销售情况')
bar.add('商家A',fruits,shop1_sales,is_stack=False)
shop2_sales = [4888,7023,3989,5873,8876,6409]
bar.add('商家B',fruits,shop2_sales,is_stack=False)
bar.render()
如果想在数据叠加显⽰,只需将is_stack参数设置为True
from pyecharts import Bar
fruits = ['苹果','⾹蕉','凤梨','桔⼦','橙','桃⼦']
shop1_sales = [8888,3323,6989,8873,3876,15409]
bar = Bar('⽔果销售情况')
bar.add('商家A',fruits,shop1_sales,is_stack=True)
shop2_sales = [4888,7023,3989,5873,8876,6409]
bar.add('商家B',fruits,shop2_sales,is_stack=True)
bar.render()
下⾯是柱状图中常⽤⽅法和属性介绍:
(1)add()⽅法中根据is_stack可以设定柱形图是否叠加显⽰
(2)is_more_utils=True 参数来设置最右侧⼯具栏,对⽣成的图进⾏更多的操作,如将柱形图更改为折线图等
(3)标记的使⽤:mark_point=[‘average']标记点,平均值;mark_line=[‘min','max','average']标记线,最⼤值、最⼩值和平均值
(4)横向柱形图:is_convert=True,标识交换X轴和Y轴
3、折线图
常⽤折线图来描绘统计事项总体指标的动态、研究对象间的依存关系以及总体中各部分的分配情况等。

# 普通折线图
fruits = ['苹果','⾹蕉','凤梨','桔⼦','橙','桃⼦']
shop1_sales = [8888,3323,6989,8873,3876,15409]
shop2_sales = [4888,7023,3989,5873,8876,6409]
line = Line('折线图')
line.add('商家A', fruits, shop1_sales, mark_point=['max'])
line.add('商家B', fruits, shop2_sales, mark_point=['min'])
line.show_config()
line.render()
line()⽅法中有个is_smooth的参数,将参数的值设置为True,折线图的线条会以圆滑的趋势变化,不像上图那样以直线的⽅式变化。

# 普通折线图
fruits = ['苹果','⾹蕉','凤梨','桔⼦','橙','桃⼦']
shop1_sales = [8888,3323,6989,8873,3876,15409]
shop2_sales = [4888,7023,3989,5873,8876,6409]
line = Line('折线图')
line.add('商家A', fruits, shop1_sales, mark_point=['max'])
line.add('商家B', fruits, shop2_sales, mark_point=['min'], is_smooth=True)
line.show_config()
line.render()
上图的商家A设置了is_smooth参数的值为True,商家B没有设置is_smooth属性。

可以看到商家B的折线是以圆滑的趋势变化的。

最常⽤的还有阶梯折线图和⾯积折线图。

阶梯折线图
将line()⽅法的is_step参数设置为True。

fruits = ['苹果','⾹蕉','凤梨','桔⼦','橙','桃⼦']
shop2_sales = [4888,7023,3989,5873,8876,6409]
line = Line('折线图')
line.add('商家B', fruits, shop2_sales, mark_point=['min'], is_step=True)
line.show_config()
line.render()
⾯积折线图
fruits = ['苹果','⾹蕉','凤梨','桔⼦','橙','桃⼦']
shop2_sales = [4888,7023,3989,5873,8876,6409]
shop1_sales = [8888,3323,6989,8873,3876,15409]
line3 =Line("⾯积折线图")
line3.add("商家A", fruits, shop1_sales, is_fill=True, line_opacity=0.2, area_opacity=0.4, symbol=None, mark_point=['max'])
line3.add("商家B", fruits, shop2_sales, is_fill=True, area_color='#a3aed5', area_opacity=0.3, is_smooth=True)
line3.show_config()
line3.render()
柱状图-折线图
在柱状图上显⽰折线图也是常⽤的统计图表。

需要借助Overlap类实现。

from pyecharts import Bar, Line, Overlap
fruits = ['苹果','⾹蕉','凤梨','桔⼦','橙','桃⼦']
shop1_sales = [8888,3323,6989,8873,3876,15409]
shop2_sales = [4888,7023,3989,5873,8876,6409]
bar = Bar("柱形图-折线图")
bar.add('bar', fruits, shop1_sales)
line = Line()
line.add('line', fruits, shop2_sales)
overlap = Overlap()
overlap.add(bar)
overlap.add(line)
overlap.show_config()
overlap.render()
4、饼图
饼图可以⽐较清楚地反映出部分与部分、部分与整体之间的数量关系.易于显⽰每组数据相对于总数的⼤⼩.⽽且显现⽅式直观.
from pyecharts import Pie
fruits = ['苹果','⾹蕉','凤梨','桔⼦','橙','桃⼦']
shop1_sales = [8888,3323,6989,8873,3876,15409]
pie = Pie('饼图')
pie.add('芝⿇饼', fruits, shop1_sales, is_label_show=True)
pie.show_config()
pie.render()
玫瑰花样式饼图
pie2 = Pie("饼图-玫瑰图⽰例", title_pos='center', width=900)
pie2.add("商家A", fruits, shop1_sales, center=[25, 50], is_random=True, radius=[25, 60], rosetype='radius')
pie2.add("商家B", fruits, shop2_sales, center=[75, 50], is_random=True, radius=[25, 60], rosetype='area', is_legend_show=False, is_label_show=True) pie2.show_config()
pie2.render()
5、散点图
散点图⼜称散点分布图,是以⼀个变量为横坐标,另⼀变量为纵坐标,利⽤散点(坐标点)的分布形态反映变量统计关系的⼀种图形。

特点是能直观表现出影响因素和预测对象之间的总体关系趋势。

静态散点图
from pyecharts import Scatter
scatter =Scatter("散点图⽰例")
scatter.add("A", shop1_sales, shop2_sales)
scatter.add("B", shop1_sales[::-1], shop2_sales)
scatter.show_config()
scatter.render()
动态散点图
from pyecharts import EffectScatter
v1 =[5, 20, 36, 10, 10, 100]
v2 =[55, 60, 16, 20, 15, 80]
# 动态散点图
es =EffectScatter("动态散点图")
# v1 x坐标 v2 y坐标
es.add('苹果', v1, v2)
es.show_config()
es.render()
各种图形动态散点图
from pyecharts import EffectScatter
es = EffectScatter("动态散点图各种图形")
es.add("", [10], [10], symbol_size=20, effect_scale=3.5, effect_period=3, symbol="pin")
es.add("", [20], [20], symbol_size=12, effect_scale=4.5, effect_period=4,symbol="rect")
es.add("", [30], [30], symbol_size=30, effect_scale=5.5, effect_period=5,symbol="roundRect")
es.add("", [40], [40], symbol_size=10, effect_scale=6.5, effect_brushtype='fill',symbol="diamond")
es.add("", [50], [50], symbol_size=16, effect_scale=5.5, effect_period=3,symbol="arrow")
es.add("", [60], [60], symbol_size=6, effect_scale=2.5, effect_period=3,symbol="triangle")
es.show_config()
es.render()
以上是使⽤pyecharts实现柱状图、折线图、散点图和饼图的统计图表。

以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。

相关文档
最新文档