极致呈现系列之:Echarts漏斗图的流光溢彩

news2024/9/21 4:24:01

目录

  • 什么是漏斗图
  • 漏斗图的特点及应用场景
    • 漏斗图的特点
    • 漏斗图常见的的应用场景:
  • Echarts中漏斗的常用属性
  • Vue3中创建漏斗图
  • 美化漏斗图样式

在数据分析和可视化中,我们经常需要比较不同阶段的数据比例或流程的渐进筛选过程。漏斗图作为一种专门用于展示这种渐进筛选过程的图表类型,可以清晰地呈现不同阶段的数据,并帮助我们理解转化率、用户流失等关键指标。今天我们就来深入认识下漏斗图

什么是漏斗图

漏斗图(Funnel chart)是一种用于显示不同阶段的数据比例或流程的渐进筛选过程的图表。它的形状类似于一个倒置的漏斗,上面较宽,下面较窄。漏斗图通常用于展示销售、转化率、用户流失等数据的分析和比较。

漏斗图以不同宽度的水平条形表示各个阶段或类别,并根据数量或比例的大小进行排列。每个水平条形的宽度表示该阶段的数值或比例,较宽的表示数值或比例较大,而较窄的表示数值或比例较小。由于漏斗图的形状特殊,所以通常只显示一个维度的数据。

漏斗图的特点及应用场景

漏斗图的特点

  1. 显示数据流程:漏斗图可以清晰地显示数据的流程,从而帮助用户了解数据的转化过程。

  2. 突出数据变化:漏斗图可以突出显示数据的变化,例如销售额的增长或者用户流失率的变化。

  3. 突出数据比例:漏斗图可以突出显示数据的比例,例如不同阶段的转化率或者不同产品的销售额占比。

  4. 突出数据趋势:漏斗图可以突出显示数据的趋势,例如销售额的增长趋势或者用户流失率的下降趋势。

  5. 突出数据异常:漏斗图可以突出显示数据的异常情况,例如某个阶段的转化率异常低或者某个产品的销售额异常高。

漏斗图常见的的应用场景:

  1. 销售流程:漏斗图可以用来展示销售流程中的转化率,例如展示潜在客户转化为实际客户的过程。

  2. 用户转化:漏斗图可以用来展示用户在网站或应用中的转化率,例如展示用户从注册到购买的转化过程。

  3. 市场营销:漏斗图可以用来展示市场营销活动的效果,例如展示广告点击率、转化率等。

  4. 人力资源:漏斗图可以用来展示招聘流程中的转化率,例如展示候选人从简历筛选到面试的转化过程。

  5. 产品设计:漏斗图可以用来展示产品设计中的转化率,例如展示用户从了解产品到购买产品的转化过程。

漏斗图的应用场景非常广泛,只要涉及到渐进筛选过程的分析和比较,都可以考虑使用漏斗图进行可视化展示。

Echarts中漏斗的常用属性

  1. type:指定图表的类型为funnel,表示创建一个漏斗图。
  2. data:表示每个阶段或类别的数据,可以是单个数值或比例,也可以是包含多个数据的数组。
  3. sort:表示对数据进行排序的方式,可以是ascending(升序)、descending(降序)、none(不排序,表示按 data 顺序),或者一个函数(即 Array.prototype.sort(function (a, b) { ... }))。。
  4. gap:表示漏斗图之间的间距大小,可以是一个数值或百分比。
  5. label:表示标签的样式,可以设置位置、颜色、字体样式等属性。
  6. itemStyle:用于设置漏斗图的样式和颜色。
  7. funnelAlign:用于设置漏斗图水平方向对齐布局类型,默认居中对齐,可用选项还有:‘left’ | ‘right’ | ‘center’。
  8. min/max:用于设置漏斗图的最小值和最大值。

Vue3中创建漏斗图

  1. 创建vue项目,安装ECharts库
npm install echarts --save
  1. 新建FunnelView.vue文件,使用import语句引入ECharts库
import * as echarts from 'echarts';
  1. 创建图表容器:在FunnelView组件的template中,添加一个div元素作为图表的容器。给它一个唯一的ref属性,以便在后面初始化图表对象时使用
<template>
  <div ref="chart" style="width:680px;height: 400px; margin: 20px auto;"></div>
</template>
  1. 初始化图表对象:在FunnelView组件中定义chart,
const chart = ref(null)

mounted生命周期钩子函数中,使用echarts.init方法初始化图表对象。

<script setup>
import { ref, onMounted } from 'vue'
import * as echarts from 'echarts'
const chart = ref(null)
onMounted(() => {
  const myChart = echarts.init(chart.value) 
})
</script>
  1. 配置图表参数,在FunnelView组件的mounted生命周期钩子函数中,定义option对象,在里面配置图表数据,并使用chart.setOption方法配置图表的参数。
onMounted(() => {
  const myChart = echarts.init(chart.value)
  const option = {
    title: {
      text: '漏斗图示例',
      subtext: '数据来自网络'
    },
    tooltip: {
      trigger: 'item',
      formatter: "{a} <br/>{b} : {c}%"
    },
    toolbox: {
      feature: {
        dataView: { readOnly: false },
        restore: {},
        saveAsImage: {}
      }
    },
    legend: {
      data: ['展现', '点击', '访问', '咨询', '订单']
    },
    series: [
      {
        name: '漏斗图',
        type: 'funnel',
        left: '10%',
        width: '80%',
        label: {
          formatter: '{b}({c}%)',
          fontSize: 14
        },
        data: [
          { value: 60, name: '访问' },
          { value: 40, name: '咨询' },
          { value: 20, name: '订单' },
          { value: 80, name: '点击' },
          { value: 100, name: '展现' }
        ]
      }
    ]
  }
  myChart.setOption(option)
})

运行程序,刷新浏览器,看下效果
在这里插入图片描述

美化漏斗图样式

  1. 设置标题字体大小
title: {
      text: '漏斗图示例',
      subtext: '数据来自网络',
      textStyle: {
        color: '#333',
        fontSize: 16,
        fontWeight: 'bold',
      },
    },
  1. 设置标签样式
label: {
          formatter: '{b}({c}%)',
          fontSize: 14,
          color: '#f0f',
          fontSize: 14,
          fontWeight: 'bold',
        },
  1. 设置漏斗图为渐变颜色:使用new echarts.graphic.LinearGradient创建渐变色,并将其应用到漏斗图的itemStyle中
itemStyle: {
          color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
            { offset: 0, color: '#ff6f69' },
            { offset: 1, color: '#ffcc5c' },
          ]),
 },
  1. 设置高亮效果
emphasis: {
          label: {
            fontSize: 16,
          },
          itemStyle: {
            borderWidth: 2,
          },
},
  1. 设置排序方式
sort: 'ascending', 
  1. 设置漏斗图之间的间距
gap: 10,

设置完成后,刷新浏览器,查看效果如下:
在这里插入图片描述
漏斗图作为一种专门用于展示不同阶段的数据比例或流程的渐进筛选过程的图表类型,可以帮助我们理解转化率、用户流失等关键指标。在实际项目中,通过有效利用漏斗图,我们能够更好地分析和比较数据,发现问题和机会,并根据数据做出相应的决策和优化。

好了,关于漏斗图的内容就介绍到这里,喜欢的小伙伴点赞关注加收藏哦;有问题的小伙伴评论区留言,你也可以通过微信公众号搜索“九仞山”关注我,获取更多内容。

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

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

相关文章

Qt使用技巧--定义Private类

如果查看Qt的源码&#xff0c;会发现很多类都会有一个***Private类。这是Qt用于封装私有操作的一种设计模式。 给出一个继承自QObject的Private类具体的实现&#xff1a; MyClass.h #include "QObject"class MyClassPrivate; class MyClass: public QObject{ Q_OB…

LangChain让LLM连接更多能力

随着LLM&#xff08;Large language models &#xff09;的发展&#xff0c;不仅仅出现了很多新的应用&#xff0c;一些开发框架也发展很快&#xff0c;典型的就是本文介绍的项目——LangChain&#xff0c;目前LangChain几乎一天一个版本&#xff0c;几个月时间Star数目已经49k…

<C++> C++11 Lambda表达式

C11 Lambda表达式 1.C98中的一个例子 在C98中&#xff0c;如果想要对一个数据集合中的元素进行排序&#xff0c;可以使用std::sort方法。 #include <algorithm> #include <functional> int main() {int array[] {4, 1, 8, 5, 3, 7, 0, 9, 2, 6};// 默认按照小于…

软考:软件工程:面向对象技术与UML,时序图,用例图,类对象,封装,继承,多态

软考&#xff1a;软件工程: 提示&#xff1a;系列被面试官问的问题&#xff0c;我自己当时不会&#xff0c;所以下来自己复盘一下&#xff0c;认真学习和总结&#xff0c;以应对未来更多的可能性 关于互联网大厂的笔试面试&#xff0c;都是需要细心准备的 &#xff08;1&#…

iOS 集成Jenkins pipeline 完整流程

文章目录 一 创建一个Jenkins pipeline 项目配置分支参数在工程中添加 ExportOptions.plist 文件创建放置打包文件的文件夹在工程里面添加shell脚本文件配置pipeline sript构建 一 创建一个Jenkins pipeline 项目 配置分支参数 选择参数化构建构成&#xff0c;如上图所示&#…

网络层实验报告

计算机网络综合实训 实训报告二 所在院系 计算机与信息工程学院 学科专业名称 计算机科学与技术 导师及职称 柯宗武 教授 提交时间 2022.3.29 网络层实验报告 &#xff08;湖北师范大学计算机与信息工程学院 中国 黄石 435002&#xff09; 1 IP分析 1.1背景知识 1.1.1 什么是…

SpringMVC系列-2 HTTP请求调用链

背景 本文作为 SpringMVC系列 第二篇&#xff0c;介绍HTTP请求的调用链&#xff1a;从请求进入Tomcat到数据流返回客户端的完整过程。为了尽可能把流程表达清楚&#xff0c;进行了很多减支处理&#xff0c;只关注主线逻辑。 本文也作为SpringMVC系列后续文章的基础&#xff0…

软考A计划-系统集成项目管理工程师--一般常识-上

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例点击跳转>软考全系列 &#x1f449;关于作者 专注于Android/Unity和各种游戏开发技巧&#xff…

SpringBoot 异常处理的主要组件有哪些

SpringBoot 异常处理的主要组件有哪些 在 SpringBoot 应用程序中&#xff0c;异常处理是一个非常重要的话题。当应用程序出现异常时&#xff0c;我们需要对异常进行处理&#xff0c;以保证应用程序的稳定性和可靠性。SpringBoot 提供了一系列的组件&#xff0c;用于处理各种类…

简析IAST—Agent篇 | 信息安全

一、IAST简单介绍 IAST(Interactive Application Security Testing)交互式应用程序安全测试&#xff0c;通过服务端部署Agent探针&#xff0c;流量代理/VPN或主机系统软件等方式&#xff0c;监控Web应用程序运行时函数执行并与扫描器实时交互&#xff0c;高效、精准的安全漏洞&…

LeetCode 面试题 16.19. 水域大小

LeetCode 面试题 16.19. 水域大小 来源&#xff1a;力扣&#xff08;LeetCode&#xff09; 链接&#xff1a;https://leetcode.cn/problems/group-anagrams/description/ 博主Github&#xff1a;https://github.com/GDUT-Rp/LeetCode 题目&#xff1a; 你有一个用于表示一片…

C++初阶之初识C++

初识C 1.什么是C2.C的发展史2.1 历史渊源2.2 名称由来2.3 C标准 3.C的重要性3.1 语言的使用广泛度3.2 工作领域 4.如何学习C5.结语 1.什么是C C语言是结构化和模块化的语言&#xff0c;适合处理较小规模的程序。对于复杂的问题&#xff0c;规模较大的 程序&#xff0c;需要高度…

【k8s系列】一分钟搭建MicroK8s Dashboard

本文基于上一篇文章的内容进行Dashboard搭建&#xff0c;如果没有看过上一篇的同学请先查阅上一篇文章 k8s系列】使用MicroK8s 5分钟搭建k8s集群含踩坑经验 使用MicroK8s搭建Dashboard很简单&#xff0c;只需要在Master节点按照以下几步操作 1.启用Dashboard插件 microk8s en…

“Vue3+Vite打包后,白屏沉默,重启重试无果,我该如何解决?”

每次最后打包总是会或多或少出现一些问题&#xff0c;昨天打包项目完之后 直接点击dist中的index.html去看看有没有什么发题&#xff0c;一打开奇怪的事发生了&#xff0c;居然是空白&#xff1b;但是在vscode中右键Open with Live Server一看项目没啥问题&#xff0c;但是部署…

下载安装Python解释器和环境变量配置

一、 python解释器下载 1.百度python官网并打开 官网网址&#xff1a;https://www.python.org/ 在这里插入图片描述 2.选择DownLoads&#xff0c;Windows并打开 3.在下图页面选择你需要的版本下载即可&#xff08;本文以python 3.10.4版本演示&#xff09; 在这里插入图片描述 …

C++笔记之extern关键字

C笔记之extern关键字 code review! 文章目录 C笔记之extern关键字0.前言1.extern是C语言的关键字还是C中的关键字&#xff1f;2.extern关键字和全局变量3.ChatGpt讲述extern的用法4.extern一般用法4.1.在本模块中使用4.2.跨模块中使用 5.标准定义使用extern关键字的步骤7.ext…

Nginx 访问日志中有 Get 别的网站的请求是什么原因?

&#x1f482; 个人网站:【海拥】【游戏大全】【神级源码资源网】&#x1f91f; 前端学习课程&#xff1a;&#x1f449;【28个案例趣学前端】【400个JS面试题】&#x1f485; 寻找学习交流、摸鱼划水的小伙伴&#xff0c;请点击【摸鱼学习交流群】 目录 前言理解 Nginx 访问日…

父亲的打,最让人想念。

11年前的端午节&#xff0c;父亲就走了。 父亲十五岁就外出打工&#xff0c;从小出去打工&#xff0c;吃了没有文化的苦&#xff0c;父亲从小教育我要好好读书&#xff0c;可我从来听不进。 所以我经常挨打。 老家在湖南的一个农村&#xff0c;我父亲十几岁就南下打工&#xff…

[进阶]网络通信:TCP通信,一发一收,多发多收

TCP通信 特点&#xff1a;面向连接、可靠通信。通信双方事先会采用 “三次握手〞 方式建立可靠连接&#xff0c;实现端到端的通信&#xff1b;底层能保证数据成功传给服务端。Java提供了一个java.net.socket类来实现TCP通信。 TCP通信——客户端开发 客户端程序就是通过java.…

基于OpenCV-车辆检测项目(简易版)

车辆检测 1.项目介绍2. 读取一段视频3.通过形态学处理识别车辆4.描画轮廓5. 车辆计数并显示 本项目使用的视频地址链接 1.项目介绍 对一个视频进行车辆数量的检测&#xff0c;用到的知识有视频的读取&#xff0c;滤波器&#xff0c;形态学&#xff0c;添加直线、文本&#xff…