Antv/G2 分组柱状图+折线图双轴图表

news2024/11/23 21:22:20
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width,height=device-height">
  <title>分组柱状图+折线图双轴图表</title>
  <style>::-webkit-scrollbar{display:none;}html,body{overflow:hidden;height:100%;margin:0;}
  #chartcontainer {
    margin: 50px auto;
    text-align: center;
  }
</style>
</head>
<body>
  <div id="chartcontainer"></div>
  <script>/*Fixing iframe window.innerHeight 0 issue in Safari*/document.body.clientHeight;</script>
  <script src="https://gw.alipayobjects.com/os/lib/antv/g2/4.2.8/dist/g2.min.js"></script>
  <script src="https://gw.alipayobjects.com/os/antv/pkg/_antv.data-set-0.11.1/dist/data-set.js"></script>
  <script>
  <!-- 浏览器引入,请使用全局命名空间 G2,如 new Chart() 改为 new G2.Chart,即可运行。 -->
    const data = 
    [
    {date: '2023/8/1', type: 'london', value: 4623, rate: 0.33}, 
    {date: '2023/8/1', type: 'tokyo', value: 2208, rate: 0.53}, 
    {date: '2023/8/1', type: 'paris', value: 182, rate: 0.63}, 
    {date: '2023/8/2', type: 'london', value: 6145, rate: 0.13}, 
    {date: '2023/8/2', type: 'tokyo', value: 2016, rate: 0.33}, 
    {date: '2023/8/2', type: 'paris', value: 257, rate: 0.33}, 
    {date: '2023/8/3', type: 'london', value: 508, rate: 0.23},
    {date: '2023/8/3', type: 'tokyo', value: 2916, rate: 0.03},
    {date: '2023/8/3', type: 'paris', value: 289, rate: 0.73},
    {date: '2023/8/4', type: 'london', value: 6268, rate: 0.63}, 
    {date: '2023/8/4', type: 'tokyo', value: 4512, rate: 0.63}, 
    {date: '2023/8/4', type: 'paris', value: 428, rate: 0.53}, 
    {date: '2023/8/5', type: 'london', value: 6411, rate: 0.33}, 
    {date: '2023/8/5', type: 'tokyo', value: 8281, rate: 0.03}, 
    {date: '2023/8/5', type: 'paris', value: 619, rate: 0.13},
    {date: '2023/8/6', type: 'london', value: 1890, rate: 0.43}, 
    {date: '2023/8/6', type: 'tokyo', value: 2008, rate: 0.53}, 
    {date: '2023/8/6', type: 'paris', value: 87, rate: 0.73},
    {date: '2023/8/7', type: 'london', value: 4251, rate: 0.03}, 
    {date: '2023/8/7', type: 'tokyo', value: 1963, rate: 0.13}, 
    {date: '2023/8/7', type: 'paris', value: 706, rate: 0.83}
    ]

    var chart = new G2.Chart({
      container: 'chartcontainer',
      autoFit: true,
      width: 300,
      height: 300,
      padding: [80, 80, 50, 80]
    });
    chart.data(data);
    chart.scale({ 
      value: {
        formatter: (val) => {
          return val + '万'
        },
        sync: true,  
        nice: true,
      },          
      rate: {
        formatter: (rate) => {
          return rate + '%'
        },
        sync: true,  
        nice: true,
      }    
    });
    chart.legend('type',{
      position: 'top' // 设置图例的显示位置       
    })
    chart.axis('rate', {
      grid: null,
      label: {
        textStyle: {
          fill: '#6495ED'
        }
      }
    });
    chart.interval().position('date*value').color('type')
    .adjust([{
      type: 'dodge',
      marginRatio: 1 / 32
    }])
    chart.line().position('date*rate').color('type').size(3).shape('smooth');
    chart.point().position('date*rate').color('type').size(3).shape('circle');
    chart.render();
  </script>
</body>
</html>

页面效果:
在这里插入图片描述

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

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

相关文章

《Effective C++》条款20

宁以pass-by-reference-to-const替换pass-by-value class A { public:A() {cout << "A()" << endl;}A(const A& a){cout << "A(const A& a)" << endl;}~A(){cout << "~A()" << endl;} private:stri…

今天不学习今天写爱心特效HTML代码

效果&#xff1a; 操作过程 首先在桌面创建一个后缀为txt的文件&#xff0c;然后将下面的代码复制进去保存&#xff0c;再将.txt后缀改为html&#xff0c;最后点击这个文件就会出现爱心特效啦~ 具体代码如下&#xff1a; <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.…

Ubuntu 下C++数字雨

以前写过一个Window下的数字雨&#xff0c;像黑客帝国里那样的01数字&#xff0c;现在补充一版Linux下的。使用了curses库&#xff0c;安装方法与使用方法参照 Linux下curses函数库的详细介绍_libcurses库-CSDN博客 5-linux学习笔记之-----curses-CSDN博客 效果如下&#xf…

【TEC100TAI-KIT】青翼科技基于复微青龙JFMQL100TAI的全国产化智能异构计算平台

板卡概述 TEC100TAI-KIT是我司自主研制的一款基于上海复旦微电子复微青龙100TAI的全国产智能异构计算平台开发套件&#xff0c;该套件包含1个复微青龙100TAI核心板和1个PCIE规格的扩展底板。 该套件的核心板集成了100TAI的最小系统&#xff0c;包含一颗JFMQL100TAI900片上系统…

手撕【双向链表】带头双向循环(2)

目录 Test.c DList.h DList.c SLInsert SLErase DList.c总代码 顺序表和链表的对比 今天继续再双向循环链表的基础上做修改。 ❓提问&#xff1a;请你在10分钟内写一个带头双向循环链表。 其实我们只要把SLInsert 和 SLErase 写好就大功告成了&#xff01;&#x1f197…

TensorFlow: 框架的自动微分机制

自动微分&#xff08;Automatic differentiation&#xff09;是深度学习框架中的一个关键功能&#xff0c;它为我们提供了一种便捷且高效的方式来求解函数的导数。在TensorFlow中&#xff0c;作为一款流行且强大的机器学习框架&#xff0c;自动微分机制为用户提供了一个方便的方…

004 OpenCV akaze特征点检测匹配

目录 一、环境 二、akaze特征点算法 2.1、基本原理 2.2、实现过程 2.3、实际应用 2.4、优点与不足 三、代码 3.1、数据准备 3.2、完整代码 一、环境 本文使用环境为&#xff1a; Windows10Python 3.9.17opencv-python 4.8.0.74 二、akaze特征点算法 特征点检测算法…

ctyunos 与 openeuler

ctyunos-2.0.1-220311-aarch64-dvd ctyunos-2.0.1-220329-everything-aarch64-dvd glibc python3 对应openEuler 20.03 LTS SP1

Selenium操作已经打开的Chrome浏览器窗口

Selenium操作已经打开的Chrome浏览器窗口 0. 背景 在使用之前的代码通过selenium操作Chrome浏览器时&#xff0c;每次都要新打开一个窗口&#xff0c;觉得麻烦&#xff0c;所以尝试使用 Selenium 获取已经打开的浏览器窗口&#xff0c;在此记录下过程 本文使用 chrome浏览器来…

Word中NoteExpress不显示的问题

首先确认我们以及安装了word插件 我们打开word却没有。此时我们打开&#xff1a;文件->选项->加载项 我们发现被禁用了 选择【禁用项目】&#xff08;如果没有&#xff0c;试一试【缓慢且禁用的加载项】&#xff09;&#xff0c;点击转到 选择启用 如果没有禁用且没有出…

基于SSM的校园家教兼职信息交流平台设计与实现

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;采用JSP技术开发 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#x…

μC/OS-II---消息邮箱管理1(os_mbox.c)

目录 消息邮箱创建消息邮箱删除等待邮箱中的消息向邮箱发送一则消息 消息邮箱创建 OS_EVENT *OSMboxCreate (void *pmsg) {OS_EVENT *pevent; #if OS_CRITICAL_METHOD 3u /* Allocate storage for CPU status register */OS_CPU_SR cpu_sr …

比特币上的人工智能

以感知机为例 人工智能&#xff0c;尤其是机器学习形式的人工智能&#xff0c;最近取得了巨大的进步&#xff0c;应用范围从人脸识别到自动驾驶汽车。我们建议将 AI 与比特币区块链结合起来&#xff0c;以获得许多其他方式无法实现的显着优势&#xff1a; 公开透明&#xff1a…

面试资料快速复习 Git常用命令(简单实用)

Git-command Git常用命令、面试复习、简单实用命令 ​ 一、概念理解 &#xff08;一&#xff09;工作区、暂存区、本地仓库、远程仓库 workspace&#xff1a;工作区staging area&#xff1a;暂存区/缓存区local repository&#xff1a;本地仓库remote repository&#xff…

前端实现页面内容的截图与下载(html2canvas)

今天是一个发文的好日子&#x1f600;~ &#x1f447;&#x1f447;&#x1f447; 一个需求&#xff0c;要截取页面中的内容并截图保存&#xff0c;来看一看我是怎么实现的吧&#xff1a; 这里需要使用到插件--html2canvas 1.安装并引入html2canvas npm install html2canv…

Es 拼音搜索无法高亮

目录 背景&#xff1a; Es 版本&#xff1a; 第一步 第二步 &#xff08;错误步骤 - 只是记录过程&#xff09; 第三步 第四步 第五步 第六步 第七步 背景&#xff1a; app 原有的搜索功能无法进行拼音搜索&#xff0c;产品希望可以支持&#xff0c;例如内容中含有&a…

upload-labs关卡10(点和空格绕过)通关思路

文章目录 前言一、回顾前几关知识点二、靶场第十关通关思路1、看源代码2、bp抓包绕过3、检查文件是否成功上传 总结 前言 此文章只用于学习和反思巩固文件上传漏洞知识&#xff0c;禁止用于做非法攻击。注意靶场是可以练习的平台&#xff0c;不能随意去尚未授权的网站做渗透测…

软件质量保护与测试(第2版)学习总结第十一章 白盒测试

错误隐藏在角落里、集聚在边界处 ----Boris Beizer 白盒测试是看源代码的&#xff0c;静态分析和动态分析 11.2 控制流测试 程序结构主要有3种 顺序结构、分支结构、循环结构 #include "stdafx.h" …

C++实现KNN和K-Means

学校机器学习课程的实验课要求实现KNN和K-Means&#xff1a; &#xff08;平时没听课&#xff09;临时去查了一下KNN和K-Means是啥&#xff0c;然后自己用C写了小例子&#xff0c;想着写都写了那就把代码贴出来吧。 顺便再聊聊自己对于这俩算法的理解。 下面是文心一言的回答…

洛谷 P3131 [USACO16JAN] Subsequences Summing to Sevens S

被普及-卡的没思路真是蒟蒻啊233 优化思路 每次都在枚举(a[r]-a[l-1])%70&#xff0c;所以可以认为数组大小对最终答案没有影响&#xff0c;考虑对前缀和数组取模&#xff0c;那么如果有a[r]的值等于a[l-1]的值相等&#xff08;即余数相等&#xff09;&#xff0c;那么两者相减…