使用pyecharts绘制漏斗图
简介
漏斗图(Funnel Chart)是一种用于可视化数据流程或转化率的图表类型。它通常由一系列阶段组成,每个阶段都有一个名称和一个值,表示在该阶段的转化量或数据流程的进展情况。漏斗图的名称来源于其外观,类似于实际的漏斗形状,它的顶部较宽,底部较窄,符合数据逐渐减少或筛选的情况。在这篇文章中,我们将介绍如何使用Python的Pyecharts库创建漏斗图,以展示数据流程中的各个阶段或转化率。
环境准备
要绘制漏斗图,首先我们要安装好pyecharts
库,安装命令如下:
pip install pyecharts
导入漏斗图类
导入Pyecharts中的相关模块,以及需要使用的其他库:
from pyecharts import options as opts
from pyecharts.charts import Funnel
数据准备
在绘制漏斗图之前,我们需要准备数据。漏斗图通常由一系列阶段组成,每个阶段都有一个名称和一个值,表示在该阶段的转化量。如下:
data = [("访问网站", 100),
("浏览商品", 80),
("加入购物车", 60),
("完成购买", 30)]
创建漏斗图
使用Pyecharts的Funnel类来创建漏斗图。设置漏斗图的基本参数,如标题、宽度、高度等。代码如下:
funnel = (
Funnel()
.add(
"转化率",
data,
gap=20,
tooltip_opts=opts.TooltipOpts(trigger="item", formatter="{a} <br/>{b}: {c}%"),
)
.set_global_opts(
title_opts=opts.TitleOpts(title="漏斗图示例"),
tooltip_opts=opts.TooltipOpts(trigger="item", formatter="{a} <br/>{b}: {c}%"),
)
)
在上述代码中,我们使用了gap
参数来设置每个漏斗阶段之间的间距,并添加了提示信息以显示阶段名称和转化率。
绘制漏斗图
最后,使用render方法将漏斗图保存为HTML文件或在Jupyter Notebook中显示出来。如下:
funnel.render("funnel_chart.html")
使用示例
下面是我们关于绘制漏斗图步骤的完整代码:
from pyecharts import options as opts
from pyecharts.charts import Funnel
data = [("访问网站", 100),
("浏览商品", 80),
("加入购物车", 60),
("完成购买", 30)]
funnel = (
Funnel()
.add(
"转化率",
data,
gap=20,
tooltip_opts=opts.TooltipOpts(trigger="item", formatter="{a} <br/>{b}: {c}%"),
)
.set_global_opts(
title_opts=opts.TitleOpts(title="漏斗图示例"),
tooltip_opts=opts.TooltipOpts(trigger="item", formatter="{a} <br/>{b}: {c}%"),
)
)
funnel.render("funnel_chart.html")
运行以上代码后,将生成一个名为"funnel_chart.html"的HTML文件,其中包含我们的漏斗图,生成的图像如下:
其他示例
- 设置标签位置
我们可以看到,上面的示例标签是在漏斗外面,我们可以通过设置label_opts
参数的position
属性,控制标签的位置。position参数可以设置为以下值之一:
- “inside”:标签显示在漏斗图的内部,默认位置。
- “outside”:标签显示在漏斗图的外部。
例如,使用position="inside"
可以将标签显示在漏斗图的内部。代码如下:
from pyecharts import options as opts
from pyecharts.charts import Funnel
data = [("访问网站", 100),
("浏览商品", 80),
("加入购物车", 60),
("完成购买", 30)]
funnel = (
Funnel()
.add(
"转化率",
data,
gap=20,
tooltip_opts=opts.TooltipOpts(trigger="item", formatter="{a} <br/>{b}: {c}%"),
label_opts= opts.LabelOpts(position="inside")
)
.set_global_opts(
title_opts=opts.TitleOpts(title="漏斗图示例2"),
tooltip_opts=opts.TooltipOpts(trigger="item", formatter="{a} <br/>{b}: {c}%"),
)
)
funnel.render("funnel_chart2.html")
运行代码,将生成的HTML文件在浏览器中打开,图像如下:
- 百分比漏斗图
要在漏斗图中显示每个阶段的百分比,可以使用label_opts
参数和formatter
属性进行设置。以下是修改后的代码:
运行脚本,生成的HTML文件,在浏览器中打开如下图:
总结
本文主要介绍了使用pyecharts绘制漏斗图的内容,漏斗图是一种强大的工具,用于可视化和分析数据流程,特别适用于需要了解转化率和进程的业务场景。希望这篇文章能对大家使用漏斗图来进行数据分析提供帮助。
最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!