使用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文件,其中包含我们的漏斗图,生成的图像如下:

软件测试|Python数据可视化神器——pyecharts教程(十)_ide

其他示例

  1. 设置标签位置

我们可以看到,上面的示例标签是在漏斗外面,我们可以通过设置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文件在浏览器中打开,图像如下:

软件测试|Python数据可视化神器——pyecharts教程(十)_python_02

  1. 百分比漏斗图

要在漏斗图中显示每个阶段的百分比,可以使用label_opts参数和formatter属性进行设置。以下是修改后的代码:

运行脚本,生成的HTML文件,在浏览器中打开如下图:

软件测试|Python数据可视化神器——pyecharts教程(十)_Python_03

总结

本文主要介绍了使用pyecharts绘制漏斗图的内容,漏斗图是一种强大的工具,用于可视化和分析数据流程,特别适用于需要了解转化率和进程的业务场景。希望这篇文章能对大家使用漏斗图来进行数据分析提供帮助。

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: python