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

使用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 Funneldata = [("访问网站", 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文件,其中包含我们的漏斗图,生成的图像如下:

其他示例

  1. 设置标签位置

我们可以看到,上面的示例标签是在漏斗外面,我们可以通过设置label_opts参数的position属性,控制标签的位置。position参数可以设置为以下值之一:

  • “inside”:标签显示在漏斗图的内部,默认位置。
  • “outside”:标签显示在漏斗图的外部。

例如,使用position="inside"可以将标签显示在漏斗图的内部。代码如下:

from pyecharts import options as opts
from pyecharts.charts import Funneldata = [("访问网站", 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文件在浏览器中打开,图像如下:

  1. 百分比漏斗图

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

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

总结

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

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/619265.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Web自动化测试,一定得掌握的 8 个核心知识点

使用 cypress 进行端对端测试&#xff0c;和其他的一些框架有一个显著不同的地方&#xff0c;它使用 javascript 作为编程语言。传统主流的 selenium 框架是支持多语言的&#xff0c;大多数 QA 会的python 和 java 语言都可以编写 selenium 代码&#xff0c;遇到需要编写 js 代…

好用的便签有哪些?windows便签工具在哪打开?

每当我8点准时上班&#xff0c;在等待电脑开机的过程&#xff0c;我都会习惯性地思考整理今天要晚上的任务&#xff0c;列出所要完成的待办事项。随着每一项任务的清晰呈现&#xff0c;我的心情也逐渐明朗起来。当然了&#xff0c;这个时候&#xff0c;我迫切需要一款好用的便签…

VS游戏打包教程

我用得天天酷跑小游戏做的例子 1:安装打包插件 2:在解决方案里新建一个项目 3:新建一个setup项目 4:界面如下(通过右键folder,可以创建folder目录和输出) 5:素材文件 6:素材放完了就项目输出 7:创建快捷方式 右键这个主输出选择第一个create shortcut 8:将这个快捷方式,拖到,…

算法通关村番外篇-LeetCode编程从0到1系列一

大家好我是苏麟 , 今天开始带来LeetCode编程从0到1系列 . 编程基础 0 到 1 , 50 题掌握基础编程能力 大纲 1768.交替合并字符串389. 找不同28. 找出字符串中第一个匹配项的下标242. 有效的字母异位词459. 重复的子字符串283. 移动零66. 加一1822. 数组元素积的符号1502. 判断能…

Canopen学习笔记——sync同步报文增加数据域(同步计数器)

1.Canfestival同步报文sync的设置 在OD表中的配置如下&#xff1a; 如果0x1006索引的同步报文循环周期时间设置为0则禁用同步报文&#xff0c;这里要注意的就是&#xff0c;上面第一张图也提到了&#xff0c;时间单位是us。第二张图&#xff0c;我的0x1006就设置为0xF4240,也就…

Java面试之虚拟机

1、前言 本篇的面试题基于网络整理&#xff0c;和自己编辑。在不断的完善补充哦。 2、什么是虚拟机&#xff1f; Java 虚拟机&#xff0c;是一个可以执行 Java 字节码的虚拟机进程。Java 源文件被编译成能被 Java 虚拟机执行的字节码文件( .class )。 Java 被设计成允许应用程…

LeetCode讲解篇之90. 子集 II

文章目录 题目描述题解思路题解代码 题目描述 题解思路 初始化一个变量start表示当前从哪里开始遍历nums 搜索过程的数字组合加入结果集 从start开始遍历nums 如果当前元素和前一个元素相等&#xff0c;前一个元素没被使用&#xff0c;则触发剪枝去重操作&#xff0c;跳过当…

58.leetcode 最后一个单词的长度

一、题目 二、解答 1. 思路 分2种情况 第一种情况只有一个单词&#xff0c;不包含空格&#xff1a;这种情况直接返回单词本身的长度。第二种情况包含空格&#xff1a;先去掉首尾的空格&#xff0c;根据空格切割字符串生成一个字符串列表&#xff0c;返回倒数第一个索引位置字…

QT周五作业

题目&#xff1a;实现简单水果的价格重量计算 点击一次水果重量1 自动计算总价 代码&#xff1a; widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QListWidgetItem> QT_BEGIN_NAMESPACE namespace Ui { class Widget; } QT_END_NAME…

HarmonyOS@Observed装饰器和@ObjectLink装饰器:嵌套类对象属性变化

Observed装饰器和ObjectLink装饰器&#xff1a;嵌套类对象属性变化 上文所述的装饰器仅能观察到第一层的变化&#xff0c;但是在实际应用开发中&#xff0c;应用会根据开发需要&#xff0c;封装自己的数据模型。对于多层嵌套的情况&#xff0c;比如二维数组&#xff0c;或者数…

每日算法打卡:蚂蚁感冒 day 13

文章目录 原题链接题目描述输入格式输出格式数据范围输入样例1&#xff1a;输出样例1&#xff1a;输入样例2&#xff1a;输出样例2&#xff1a; 题目分析示例代码 原题链接 1211. 蚂蚁感冒 题目难度&#xff1a;简单 题目来源&#xff1a;第五届蓝桥杯省赛C A/B组 题目描述…

echarts 3D地图

vueecharts 3D地图,可自定义地图背景底图。鼠标放上显示弹窗&#xff0c;弹窗自动切换。 <template><div id"gbznt" class"gbznt" ref"gbznt"><img class"mapBg" src"../../../img/propertyTransaction/echart-bg…

Django教程第2章| Web开发实战 |用户管理模块

前言 从第2章开始&#xff0c;我们正式以实战为核心开发用户管理系统&#xff0c;计划实现效果图所有模块功能。 本章我们将开始实现我们第一个功能模块&#xff1a;用户管理。 技术栈 Boostrap、jQuery、​​​Django 功能模块 模块进度功能点部门管理完成增删改查&…

nodejs+vue+ElementUi音乐分享社交网站77l8j

本文介绍的系统主要分为两个部分&#xff1a;一是前台界面&#xff1a;用户通过注册登录可以实现音乐播放、新闻浏览、留言评论等功能&#xff1b;另一个是后台界面&#xff1a;音乐网站管理员对用户信息进行管理&#xff0c;上传更新音乐资源&#xff0c;发布最新音乐资讯等功…

NUS CS1101S:SICP JavaScript 描述:五、使用寄存器机进行计算

原文&#xff1a;5 Computing with Register Machines 译者&#xff1a;飞龙 协议&#xff1a;CC BY-NC-SA 4.0 我的目标是表明天堂机器不是一种神圣的生命体&#xff0c;而是一种钟表&#xff08;相信钟表有灵魂属性的人将制造者的荣耀归功于作品&#xff09;&#xff0c;因为…

debian12部署Gitea服务之二——部署git-lfs

Debian安装gitlfs: 先更新下软件包版本 sudo apt update 安装 sudo apt install git-lfs 验证是否安装成功 git lfs version cd到Gitea仓库目录下 cd /mnt/HuHDD/Git/Gitea/Repo/hu/testrepo.git 执行lfs的初始化命令 git lfs install客户机Windows端在官网下载并安装Git-Lfs 再…

Origin中将 x、y 轴设置为等长度

---------------------------------------------------------------------- 记录一个画图小技巧&#xff1a; 如何在 Origin 中等轴画图 第一步&#xff1a;起初画出来的图如下&#xff0c;y 轴长于 x 轴 第二步&#xff1a;点击画板的空白处&#xff0c;任意一个地方即可 第…

第十六章 i18n国际化

第十六章 i18n国际化 1.什么是i18n国际化2.i18n国际化三要素介绍3.i18n国际化基础示例4.通过请求头实现国际化5.通过语言类型选择实现国际化6.通过JSTL标签库fmt实现国际化 1.什么是i18n国际化 2.i18n国际化三要素介绍 3.i18n国际化基础示例 如果我要准备一个国际化的信息&…

Web3的应用发展及其影响

Web3&#xff0c;又被称为去中心化Web&#xff0c;是互联网发展的一个阶段&#xff0c;其核心特点是数据的去中心化和用户自主权。近年来&#xff0c;随着区块链技术的不断成熟&#xff0c;Web3的应用也得到了广泛的关注和发展。在这篇文章中&#xff0c;我们将深入探讨Web3目前…

猫狗大战(猫狗识别)

1.问题简介 1.1问题描述 在这个问题中&#xff0c;你将面临一个经典的机器学习分类挑战——猫狗大战。你的任务是建立一个分类模型&#xff0c;能够准确地区分图像中是猫还是狗。 1.2预期解决方案 你的目标是通过训练一个机器学习模型&#xff0c;使其在给定一张图像时能够准…