python绘制漏斗图步骤详解

yipeiwu_com6年前Python基础

pyecharts中的Funnel函数可以绘制漏斗图,自动根据数据大小生成由大到小自上而下排列的一个漏斗样的图形。

1、导入Funnel模块。

from pyecharts import Funnel

2、初始化图形参数。

funnel = Funnel("漏斗图", width=600, height=400, title_pos='center')

3、输入数据并绘图。

funnel.add("商品交易行为记录数据", ['浏览','加入购物车','下单','支付','交易成功'], [40000,18000,10000,8500,8000], is_label_show=True,label_formatter='{b} {c}',label_pos="outside",legend_orient='vertical', legend_pos='left')

这里legend_orient、legend_pos分别表示图例的方向和位置,label_formatter为数据标签显示格式,{a}展示系列名称,{b}展示数据项名称,{c}展示数据项数值, {d}展示数值百分比。

4、保存并查看图形。

funnel.render()

5、显示百分比。

funnel = Funnel("整体转化率", "图中的比例表示该行为下的用户数占总用户数(6万)的比例",width=600, height=400, title_pos='center')

funnel.add("商品交易行为记录数据", ['浏览','加入购物车','下单','支付','交易成功'], [int(100*i/60000) for i in [40000,18000,10000,8500,8000]], is_label_show=True,label_formatter='{b} {c}%',label_pos="outside",

      legend_orient='vertical', legend_pos='left')

注意:这里百分比做了一些处理。而单独用{d}展示意义不一样。

6、保存并展示数据。

funnel.render(‘data.html')

相关文章

详谈python3中用for循环删除列表中元素的坑

for循环语句的对象是可迭代对象,可迭代对象需要实现__iter__或iter方法,并返回一个迭代器,什么是迭代器呢?迭代器只需要实现 __next__或next方法。 现在来验证一下列...

Python3 模块、包调用&路径详解

如下所示: ''' 以下代码均为讲解,不能实际操作 ''' ''' 博客园 Infi_chu ''' ''' 模块的优点: 1.高可维护性 2.可以大大减少编写的代码量 模块一共有...

Python Subprocess模块原理及实例

Python Subprocess模块原理及实例

前言 其实有一个模块也支持执行系统命令,那个模块就是sys.system,但他执行系统命令会直接通过主进程去执行命令,那假如,该命令的执行需要耗费一个小时,那么主进程会卡一个小时,而不...

如何利用Fabric自动化你的任务

首先让我们首先看一个例子。我们知道在*NIX下面,uname命令是查看系统的发行版。 可以写这样一个Fabric脚本: from fabric.api import run def...

在Python下尝试多线程编程

多任务可以由多进程完成,也可以由一个进程内的多线程完成。 我们前面提到了进程是由若干线程组成的,一个进程至少有一个线程。 由于线程是操作系统直接支持的执行单元,因此,高级语言通常都内置多...