一、概念介绍

漏斗图(Funnel),也称为倒三角图,借助echarts的解释如下:

    Funnel diagram is suitable for one-way analysis of single process with standardized business process, long cycle
and multiple links.Through comparison of business data of each link in the funnel,the link where the potential problems
can be found intuitively,and then decisions can be made.

在现实应用中,我们常利用此类图形帮助进行业务流程比较规范、周期长、环节多的单流程可视化分析。

场景列举:
用户生命周期模型  —— AARRR(本案例),用于分析用户增长、协助用户运营
电商漏斗模型  —— 如AIPL(Awareness → Interest → Purchase → Loyalty)
用户消费行为模型  —— AIDMA(Attention → Interest → Desire → Memory → Action)AISAS(Attention → Interest → Search → Action → Share)ISMAS(Interest → Search → Mouth/口碑 → Action → Share)SICAS(Sense → interest&interactive → Connect&Communicate → Action → Share)
......

在这样一条从属关系链下,漏斗图反映出来的各环节业务数据缩减比率可以直观说明问题所在的环节,帮助分析者或者管理者做出决策。

二、数据准备

由于是模拟数据作图,这里就按照AARRR模型五个环节随机生成数字如下:

环节 人数 单一环节转化率 总体转化率
Acquisition 156280 100.00% 100.00%
Activation 93346 59.73% 59.73%
Retention 47047 50.40% 30.10%
Revenue 10463 22.24% 6.70%
Referral 7899 75.49% 5.05%

三、图形绘制

import pandas as pd
data = pd.read_excel('漏斗图.xlsx', 'Sheet1')
attrs = data['环节'].tolist()
trans = data['单一环节转化率'].tolist()
attr_value = data['人数'].tolist()
attr_trans = [attrs[i]+"-"+"%.2f%%"%(trans[i]*100) for i in range(5)]from pyecharts import options as opts
from pyecharts.charts import Funnel
from pyecharts.commons.utils import JsCodec = (Funnel(init_opts=opts.InitOpts(theme="essos", bg_color={"type": "pattern", "image": JsCode("img"), "repeat": "repeat"})).add_js_funcs(    """    var img = new Image();img.src = '背景2.jpg';    """).add("A网站", [list(z) for z in zip(attr_trans, attr_value)],label_opts=opts.LabelOpts(font_size=13,position="right",formatter="{b}"),sort_ = 'descending',gap = 4,tooltip_opts=opts.TooltipOpts(trigger='item',formatter="{a} <br/>{b} : {c}",background_color = "#ffd1df",border_color = "#ffffd4",border_width = 4,textstyle_opts = opts.TextStyleOpts(font_size=14,color='blue'),)).set_global_opts(title_opts=opts.TitleOpts(title='林老头ss',subtitle='今天也要加油吖~')).render("漏斗test1.html")
)import os
os.system("漏斗test1.html")

图形展示:

根据上图,我们可以直观看到单环节转换率较低的为revenue,用户群体中愿意付费享受更多服务的比例较低,基于此我们可以考虑是不是付费会员产品的竞争力不够、费用设置不合理、目标用户不匹配等等,进而优化运营。

四、参数解释

  • bg_color :用于调整全局的背景设置,包括颜色图片等。
    - 颜色主题,可以参考:https://blog.51cto.com/u_15294888/5054652
    - 如果想要更换成纯色(如黑色):bg_color=‘black’;
    - 如果想要更换图片:更改“背景2.jpg”的路径或名称即可;
    - 如果不希望图片重复填充:“repeat”: “no-repeat”;
  • label_opts=opts.LabelOpts()
    - position=“right”,标签在漏斗中(主图区)的展示位置,可以选“left”、“center”、“right”;
    - formatter=“{b}”,这里{a}是系列名称、{b}是数据项名称、{c}是数值、{d}是百分比(注意不是转化率,是数值占总和的比重,用在饼图绘制中)
  • sort_
    - 可以选‘descending’(降序)或者‘ascending’(升序),按数值大小排序;
  • gap
    - 每一个梯形块的间距,数值越大隔得越宽;
  • tooltip_opts=opts.TooltipOpts()
    - trigger=‘item’,触发类型为选中构图item即可。还可以选择’axis’,详情可以参考下面这篇写得非常详细清晰的文章~
    Echarts属性trigger:axis、axisPointer效果展示
    - background_color、border_color、border_width:这三个选项以及之后跟的text选项是帮助触发项的背景色、边框色、边框宽度、边框内展示字体的设置。如:
  • os.system(“漏斗test1.html”)
    - 帮助我们在代码运行之后即使打开文件(html),展现绘图效果

本文只展示了基础的funnel函数,随着应用场景不断丰富,绘图多样化需求不断增加,大家可以仅作参考,如果能有所帮助当然最好啦。
下面附上官网的示例,大家自行调参diy
多类漏斗图示例

利用Pyecharts绘制漏斗图的案例【含参数详解】相关推荐

  1. 利用Pyecharts绘制仪表盘图的案例【含参数解释】

    目录 一.概念解释 二.数据导入 三.单指针仪表盘 四.参数解释 五.多指针仪表盘 一.概念解释         仪表盘图(Gauge),这里指的并不是人力常用的多图表在同页面聚合排布的绘图方法. 仪 ...

  2. 利用pyecharts绘制水球图的案例

    一.概念介绍 水球图(Liquid Fill Chart),听名字或许比较陌生,但从命名的角度也可以猜测出此类图像以球形水波显示.水球图属于填充仪表盘类,可以用于生动地展示单个百分比数据或评分数据. ...

  3. 利用matplotlib绘制圆环图的案例

    一.概念介绍 圆环图(Donut Chart),又称为环形图,甜甜圈图.它从饼图变形而来,单环的作用上与饼图相似,用于展示定性数据中小类占大类的比例关系. Q: 那既然都有饼图了,为什么还要圆环图呢? ...

  4. 利用matplotlib绘制马赛克图的案例

    一.概念介绍 马赛克图(Mosaic plot),基于列联表的数据排布,展现二维定性变量下的取值大小,我们可以将它想象成三维柱状图的俯视,颜色差异或面积大小常被用于区分每个块的赋值大小. · 什么是列 ...

  5. 利用pyecharts绘制分级地图的案例

    一.概念介绍 分级统计地图,或许在以前大家还不常见,但是疫情期间,借助分级地图向我们呈现全国各省市风险地区情况.确诊或死亡人数情况等的应用还是数不胜数的,效果也让人一目了然.显然,分级地图即是在我们整 ...

  6. 利用Joypy绘制嵴线图的案例

    一.概念介绍 嵴线图(ridgeline plot),用来展示同一维度的几个数据的分布情况,每一层嵴线(峰峦)都是一个直方图或者密度图,层层堆叠形成了最终的嵴线图. · 嵴线图一般用于多类别(> ...

  7. 利用pyecharts绘制桑葚图

    月末算总账-桑基图绘制 本文中介绍的是如何制作桑基图,使用的可视化库是强大的Pyecharts(版本1.7.1,版本一致很重要).文章将从如下几个方面进行介绍: 什么是桑基图 2个官网demo 原始数 ...

  8. pyecharts绘制漏斗图

    from pyecharts import options as opts from pyecharts.charts import Funnel from pyecharts.faker impor ...

  9. 重点:@RequestMapping(含参数详解)和@RequestParam、@RequestBody、@PathVariable、@RequestHeader

    @RequestMapping注解 @RequestMapping是一个用来处理请求地址到处理器controller功能方法映射规则的注解,这个注解会将 HTTP 请求映射到 MVC 和 REST 控 ...

最新文章

  1. DeeplyTough | 学习蛋白质结合位点的结构比较
  2. 复习HTML+CSS(2)
  3. 一霎清明雨,实现考勤管理。
  4. 将表导入到其他用户的impdp命令
  5. 网摘--2014年5月12日
  6. java批处理 异常处理_Java批处理教程
  7. 【渝粤教育】电大中专建设工程法规1作业 题库
  8. 第四节:HTML5给表单带来的新标签、新属性、新类型
  9. 前端开发工具介绍----合成雪碧图工具(css sprite)
  10. epoll 性能分析(解决占用CPU 过高问题)2
  11. 云服务和硬件成微软业绩新增长点
  12. Ansible and FileBeta
  13. android蓝牙hfp client使用例
  14. Spring 框架简单介绍
  15. Silverlight2.0下载地址
  16. 含泪整理最优质相机 单反 摄影3dm犀牛模型素材,你想要的这里都有
  17. 红巨星粒子插件Trapcode Suite 14.0 Win版全套中文完美汉化版
  18. 三、电容屏原理(2)
  19. recyclerView多条目加载,点击动画事件
  20. shell脚本中shift的用法

热门文章

  1. 12种论坛常用的推广方法
  2. 开源多端合一小程序源码系统+前端+后端+搭建教程
  3. 畅通无阻的公式:乘员组从几乎破产变成了吸引500万游客的方式
  4. CloudXNS DDNS Script
  5. 【亲测有效】root安装软件和无需root权限两种方法linux点对点网络测速,网速测试,带宽测速,局域网测速
  6. [附源码]java毕业设计校园闲置物品交易
  7. 海康EHOME5.0协议无法成功注册EasyCVR平台的原因排查
  8. 【工具类】-转换人民币大小金额
  9. shell 基本命令
  10. java写病毒_java编写小病毒程序