首页 > 分享 > python pyecharts 折线图

python pyecharts 折线图

之前的一篇文章介绍了使用Matplotlib实现各种统计图表,Python数据可视化之Matplotlib实现各种图表。这篇文章就介绍使用pyecharts实现各种统计图表。

1、pyecharts介绍

Echarts是一款由百度公司开发的开源数据可视化JS库,pyecharts是一款使用python调用echarts生成数据可视化的类库,可实现柱状图,折线图,饼状图,地图等统计图表。

2、柱状图

适用场合是二维数据集(每个数据点包括两个值x和y),但只有一个维度需要比较,用于显示一段时间内的数据变化或显示各项之间的比较情况。 优点: 利用柱子的高度,反映数据的差异,肉眼对高度差异很敏感。 缺点: 只适用中小规模的数据集。

柱状图最基本用法

from pyecharts import Barfruits = ['苹果','香蕉','凤梨','桔子','橙','桃子']sales = [18888,20023,30989,8873,29876,5409]bar = Bar('水果销售情况')bar.add('',fruits,sales,is_stack=True)(bar.render())

6e2b9961d076cadcd126d4b4c52b6ef0.png

add()方法用于添加数据。

当要比较不同商家水果销量情况,只需多次调用add()方法:

from pyecharts import Barfruits = ['苹果','香蕉','凤梨','桔子','橙','桃子']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()

09b4376be68b26c24b742158159e7b4b.png

如果想在数据叠加显示,只需将is_stack参数设置为True

from pyecharts import Barfruits = ['苹果','香蕉','凤梨','桔子','橙','桃子']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()

5a3e482fe9640eab80634e54f9859a21.png

下面是柱状图中常用方法和属性介绍: (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()

48d6a2f3822145d6b633913940a50261.png

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()

7d6e5a8570017f0df64cba815df9a275.png

上图的商家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()

5c75cb367ec58e521f50888b44b6cf9d.png

面积折线图

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()

afbfd8645a2195fe97a2d5dc6990db5d.png

柱状图-折线图 
在柱状图上显示折线图也是常用的统计图表。需要借助Overlap类实现。

from pyecharts import Bar, Line, Overlapfruits = ['苹果','香蕉','凤梨','桔子','橙','桃子']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()

e9ebdfa51175aa9464aa702da3c66e14.png

4、饼图

饼图可以比较清楚地反映出部分与部分、部分与整体之间的数量关系.易于显示每组数据相对于总数的大小.而且显现方式直观.

from pyecharts import Piefruits = ['苹果','香蕉','凤梨','桔子','橙','桃子']shop1_sales = [8888,3323,6989,8873,3876,15409]pie = Pie('饼图')pie.add('芝麻饼', fruits, shop1_sales, is_label_show=True)pie.show_config()pie.render()

1411d2bbe0b23f048215d31b137f5866.png

玫瑰花样式饼图

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()

cbc3757cfda7a168302066846f203b06.png

5、散点图

散点图又称散点分布图,是以一个变量为横坐标,另一变量为纵坐标,利用散点(坐标点)的分布形态反映变量统计关系的一种图形。特点是能直观表现出影响因素和预测对象之间的总体关系趋势。

静态散点图

from pyecharts import  Scatterscatter =Scatter("散点图示例")scatter.add("A", shop1_sales, shop2_sales)scatter.add("B", shop1_sales[::-1], shop2_sales)scatter.show_config()scatter.render()

6ef67a151234e3ea1b03127eacb5a183.png

动态散点图

from pyecharts import EffectScatterv1 =[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()

5fec35a354e6a9674e0144eb4e2d9b63.png

各种图形动态散点图

from pyecharts import EffectScatteres = 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()

df1387271d49ca0140fbaba457a6b0ec.png

以上是使用pyecharts实现柱状图、折线图、散点图和饼图的统计图表。

长按下面关注本公众号,获取更多关于Python爬虫、大数据和爬虫的知识

35d7ef42f559a20ef99a93722e9a3313.png

相关知识

Python安装pyecharts问题及解决办法
L7
基于Python的全国主要城市天气数据可视化大屏系统
【python】python双十一美妆数据分析(源码+报告)【独一无二】课程设计
Python实现平行坐标图的绘制(plotly)
Python中的数据可视化:Matplotlib基础与高级技巧
visualmap折线图
仅用半小时,从Python爬取到BI可视化,告诉你深圳房价有多贵
Python机器学习基础教程
设置type=“range”为vertical

网址: python pyecharts 折线图 https://m.huajiangbk.com/newsview1546287.html

所属分类:花卉
上一篇: 如何利用Figdraw提升202
下一篇: 花几分钟时间给你介绍一下报表工具