vue3+g2plot之瀑布图

news2024/12/23 3:50:52

基础瀑布图 - 每月收支情况

效果预览:
在这里插入图片描述

核心代码:

import {
    Waterfall } from '@antv/g2plot';

const data = [
  {
    type: '日用品', money: 120 },
  {
    type: '伙食费', money: 900 },
  {
    type: '交通费', money: 200 },
  {
    type: '水电费', money: 300 },
  {
    type: '房租', money: 1200 },
  {
    type: '商场消费', money: 1000 },
  {
    type: '红包收入', money: -2000 },
];

const waterfallPlot = new Waterfall('container', {
   
  data,
  xField: 'type',
  yField: 'money',
  appendPadding: [15, 0, 0, 0],
  meta: {
   
    type: {
   
      alias: '类别',
    },
    money: {
   
      alias: '收支',
      formatter: (v) => `${
     v}`,
    },
  },
  label: {
   
    style: {
    fontSize: 10, fill: 'rgba(0,0,0,0.65)' },
    layout: [{
    type: 'interval-adjust-position' }],
  },
  total: {
   
    label: '总支出',
    style: {
   
      fill: '#96a6a6',
    },
  },
});

waterfallPlot.render();

变化瀑布图 - 销售量一年的变化情况

效果预览:
在这里插入图片描述

核心代码:

import {
    Waterfall } from '@antv/g2plot';

const data = [
  {
    month: '2019', value: 23000000 },
  {
    month: 'Jan', value: 2200000 },
  {
    month: 'Feb', value: -4600000 },
  {
    month: 'Mar', value: -9100000 },
  {
    month: 'Apr', value: 3700000 },
  {
    month: 'May', value: -2100000 },
  {
    month: 'Jun', value: 5300000 },
  {
    month: 'Jul', value: 3100000 },
  {
    month: 'Aug', value: -1500000 },
  {
    month: 'Sep', value: 4200000 },
  {
    month: 'Oct', value: 5300000 },
  {
    month: 'Nov', value: -1500000 },
  {
    month: 'Dec', value: 5100000 },
];

const waterfallPlot = new Waterfall('container', {
   
  data,
  padding: 'auto',
  appendPadding: [20, 0, 0, 0],
  xField: 'month',
  yField: 'value',
  meta: {
   
    month: {
   
      alias: '月份',
    },
    value: {
   
      alias: '销售量',
      formatter: (v) => `${
     v / 10000000} 亿`,
    },
  },
  /** 展示总计 */
  total: {
   
    label: '2020',
  },
  color: ({
     month, value }) => {
   
    if (month === '2019' || month === '2020') {
   
      return '#96a6a6';
    }
    return value > 0 ? '#f4664a' : '#30bf78';
  },
  legend: {
   
    custom: true,
    items: [
      {
   
        name: 'Increase',
        value: 'increase',
        marker: {
    symbol: 'square', style: {
    r: 5, fill: '#f4664a' } },
      },
      {
   
        name: 'Decrease',
        value: 'decrease',
        marker: {
    symbol: 'square', style: {
    r: 5, fill: '#30bf78' } },
      },
      {
   
        name: 'Total',
        value: 'total',
        marker: {
    symbol: 'square', style: {
    r: 5, fill: '#96a6a6' } },
      },
    ],
  },
  label: {
   
    style: {
   
      fontSize: 10,
    },
    layout: [{
    type: 'interval-adjust-position' }],
    background: {
   
      style: {
   
        fill: '#f6f6f6',
        stroke: '#e6e6e6',
        strokeOpacity: 0.65,
        radius: 2,
      },
      padding: 1.5,
    },
  },
  waterfallStyle: () => {
   
    return {
   
      fillOpacity: 0.85,
    };
  },
});

waterfallPlot.render();

瀑布图 - 数值标签展示绝对值

效果预览:
在这里插入图片描述

核心代码:

import {
    Waterfall } from '@antv/g2plot';

const data = [
  {
    month: '一月', value: 6200000 },
  {
    month: '二月', value: -600000 },
  {
    month: '三月', value: -4100000 },
  {
    month: '四月', value: 3700000 },
  {
    month: '五月', value: -2100000 },
  {
    month: '六月', value: 5300000 },
  {
    month: '七月', value: 3100000 },
  {
    month: '八月', value: -500000 },
  {
    month: '九月', value: 4200000 },
  {
   

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

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

相关文章

MyBatis批量更新:报错The error occurred while setting parameters

使用mybatis批量更新时,报以下错误。反复检查过mysql语句没有任何问题。而且本地可以正常执行,生产环境却报错。起初怀疑是数据表,把生产环境表导入本地测试后依然没有问题。数据表没问题就定位到数据库,先检查本地数据库链接与生…

家庭教育系列—剑桥通用英语五级考试介绍

文章目录 1. 背景介绍2. 详细介绍2.1 **KET(Key English Test):基础英语考试**2.2 **PET(Preliminary English Test):初级英语考试**2.3 **FCE(First Certificate in English)&#…

自定义类加载器 1.继承ClassLoader 2.findClass 3.defineClass

一、自定义类加载器 1.自定义 2.使用 总结:这种情况,由于loadClass会采用双亲委派机制,如果类已经被加载,那么就不会重复加载。 二、热部署的实现原理 使用loadClass,发现加载是同一个类 使用findClass实现&#xf…

【arxiv 2024】Latte: Latent Diffusion Transformer for Video Generation

【arxiv 2024】Latte: Latent Diffusion Transformer for Video Generation 一、前言Abstract1 Introduction2 Related Work3 Methodology3.1 Preliminary of Latent Diffusion Models3.2 The model variants of Latte3.3 The empirical analysis of Latte3.3.1 Latent video c…

测试环境领域到测试环境产品

作者:攻心 去年之前,阿里巴巴的淘天集团测试环境是以领域方式运作:不局限测试环境治理本身,从测试模式方法论及用好测试环境思路引领集团测试环境治理。领域运作最难的是“统一思想”。业务进一步细分调整后,测试环境治…

Xilinx FPGA:vivado SPI实现FLASH通信

一、实验要求 要求使用SPI协议实现对flash芯片的页编程、读操作、页擦除等功能。 二、模块划分 大概的时序图: 三、程序设计 (1)接收端模块 timescale 1ns / 1ps module uart_rx(input sys_clk ,input …

Mongodb新增文档、查询文档、更新文档、删除文档

文章目录 1、新增文档1.1、进入容器1.2、向集合插入一个新文档1.3、查询文档1.4、向集合插入一个或者多个文档 2、查询文档2.1、查询年龄等于202.2、查询年龄是20的男性2.3、查询年龄是20或者性别是男2.4、查询年龄小于232.5、查询年龄小于等于232.6、查询大于等于232.7、查询年…

新型蜜罐有哪些?未来方向如何?

前言:技术发展为时代带来变革,同时技术创新性对蜜罐产生推动力。 一、新型蜜罐的诞生 技术发展为时代带来变革,同时技术创新性对蜜罐产生推动力,通过借鉴不同技术思想、方法,与其它技术结合形成优势互补,…

Docker 搭建 Minio 容器

Docker 搭建 Minio 容器 (完整详细版) 简介: Minio 是一个基于Apache License v2.0开源协议的对象存储服务,虽然轻量,却拥有着不错的性能。它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据。 例如图片、视频、日…

CentOS通过rsync实现文件同步(daemon方式)

rsync介绍 rsync是Liunx下的远程数据同步工具,可快速同步多台服务器间的文件和目录,并可实现增量同步以减少数据的传输。 rsync有两种常用的认证方式,一种是rsync-daemon方式,另外一种是ssh方式。 daemon 方式与 ssh 方式相比有…

Nginx代理路径被吃

Nginx代理路径被吃的情况 日常工作中经常使用nginx反向代理一些资源,有时正常代理,发现代理不过去。 验证被吃调location情况 通过浏览器访问: https://zhao138969.com/LinuxPackage/Python/SelectDocker location /LinuxPackage { proxy…

深度学习Day-27:生成对抗网络(GAN)入门

🍨 本文为:[🔗365天深度学习训练营] 中的学习记录博客 🍖 原作者:[K同学啊 | 接辅导、项目定制] 要求: 了解什么是生成对抗网络生成对抗网络结构是怎么样的学习本文代码,并跑通代码调用训练好…

【MeterSphere】3.X备份与还原

目录 一、手动备份数据库 二、备份 minio 目录 三、自动备份 3.1 设置备份服务器 3.2 创建文件夹 msdb_bak 3.3 设置备份脚本 3.4 创建用于定时任务脚本文件 3.5 为msdb_bak赋权 3.6 执行 install_ms_backup.sh 3.7 查看定时任务是否成功 四、还原数据 4.1 还原 s…

LinkedHashSet底层原理

LinkedHashSet 的特点 去重:不允许重复的元素,类似于 HashSet。有序:能够记住元素的插入顺序,类似于 LinkedList。性能:具有较好的平均时间复杂度,如添加、删除和查找操作通常都是 O(1)。 内部实现 数据…

Java全栈课程之Linux——进程管理

一、什么是进程 1、在Linux中,每一个程序都是有自己的一个进程,每一个进程都有一个id号! 2、每一个进程呢,都会有一个父进程! 3、进程可以有两种存在方式:前台!后台运行! 4、一般的话服务都是后台运行的,基本的程序都是前台运行的! 二、命令 ps 查看当前系统中正在执行的…

航空客运订票系统(数据结构与算法课设)(C语言版)

本文为数据结构与算法课设《航空客运订票系统》的分享与实践,采用了顺序表和链表两种数据结构。贴近生活采用了系统选择来区别用户和管理员。 目录 1.设计内容与要求 2.功能实现和程序调试 功能实现 函数原型清单 程序调试 3.代码实现 (1)结构体定义 (2)管理员菜单…

若依开发平台数据权限设计与实现深度剖析

概述 在之前的博客《数据权限的设计与思考》中,我们对软件系统的数据权限进行了全面的梳理。接下来,本文深度剖析主流开源的若依开发平台数据权限是怎么设计与实现的。 平台展示 在角色管理菜单中,在角色列表中选择一个具体角色&#xff…

【C++】实验十二

题目: 1、事先编好程序,上机调试和运行程序,分析结果。 将教材第11章例11.1的程序片段补充和改写成一个完整、正确的程序,用公用继承方式。在程序中包括输入数据的函数,在程序运行时输入num,name&#xf…

人工智能与机器学习原理精解【11】

文章目录 广义线性模型基础理论泊松分布的基本公式一、基本公式二、泊松分布的特点三、泊松分布的应用场景四、泊松分布与二项分布的关系五、总结 泊松回归例子1例子背景模型设定数据收集模型拟合结果解释预测应用场景 泊松回归例子2背景数据准备模型设定模型拟合结果解释预测 …

红外视觉简介:近红外图像与中远红外图像

在本教程中,您将学习红外成像的基础知识,包括: 什么是红外图像:近红外与中远红外红外摄像机的类型它们有什么用处什么是红外图像?近红外图像 在开始处理这种奇怪的图像之前,我们应该了解它们的来源。 我们都熟悉常见的数字彩色可见图片(图 1,左),因为我们每年都会用…