@antv/g2plot 特殊 散点图 x轴为category 调整了legend 的marker

news2024/11/18 17:18:53

在这里插入图片描述

下面代码演示了如何使用 antv/g2plot 创建一个散点图,并对其进行基本的样式和布局配置。

具体来说,代码中的 data 数组定义了散点图的数据系列,每个数据对象包含了分类、值和 y 轴字段三个属性。而 cateMap 对象则定义了每个分类对应的颜色和形状。

在创建 Scatter 实例时,通过传入参数配置了散点图的一些基础属性:

  • padding 控制了散点图绘制区域与画布边缘之间的间隙;
  • xFieldyField 分别指定了 x 轴和 y 轴所对应的字段;
  • colorFieldshapeField 则分别指定了颜色和形状所对应的字段;
  • size 指定了散点的大小;
  • legend 配置了图例样式和位置;
  • xAxisyAxis 分别配置了 x 轴和 y 轴的样式和标题。

最后,调用 scatterPlot.render() 方法将散点图渲染到指定的容器中。

值得注意的是,该代码使用了 ES6 的模块化语法,通过 import 导入了需要的 Scatter 类。同时,代码还定义了一个 Vue.js 组件,并通过 mounted 生命周期钩子函数来执行以上操作。

<template>
  <div>
    <div id="container" style="height: 500px; width: 500px"></div>
  </div>
</template>
<script>
import { Scatter } from '@antv/g2plot'
export default {
  data() {
    return {}
  },
  methods: {},
  mounted() {
    const data = [
      { category: '本校', value: 10, yField: '清北线' },
      { category: '参照校1', value: 20, yField: '清北线' },
      { category: '参照校2', value: 30, yField: '清北线' },
      { category: '同类校', value: 40, yField: '清北线' },
      { category: '所属区县', value: 50, yField: '清北线' },
      { category: '全市', value: 60, yField: '清北线' },

      { category: '本校', value: 10, yField: 'C9线' },
      { category: '参照校1', value: 20, yField: 'C9线' },
      { category: '参照校2', value: 30, yField: 'C9线' },
      { category: '同类校', value: 40, yField: 'C9线' },
      { category: '所属区县', value: 50, yField: 'C9线' },
      { category: '全市', value: 60, yField: 'C9线' },

      { category: '本校', value: 10, yField: '传统600分' },
      { category: '参照校1', value: 20, yField: '传统600分' },
      { category: '参照校2', value: 30, yField: '传统600分' },
      { category: '同类校', value: 40, yField: '传统600分' },
      { category: '所属区县', value: 50, yField: '传统600分' },
      { category: '全市', value: 60, yField: '传统600分' },

      { category: '本校', value: 10, yField: '重本线' },
      { category: '参照校1', value: 20, yField: '重本线' },
      { category: '参照校2', value: 30, yField: '重本线' },
      { category: '同类校', value: 40, yField: '重本线' },
      { category: '所属区县', value: 50, yField: '重本线' },
      { category: '全市', value: 60, yField: '重本线' },
    ]

    const cateMap = {
      本校: { color: '#5b9bd5', shape: 'diamond' },
      参照校1: { color: '#ed7d31', shape: 'square' },
      参照校2: { color: '#a5a5a5', shape: 'triangle' },
      同类校: { color: '#fbca33', shape: 'cross' },
      所属区县: { color: '#4472c4', shape: 'square' },
      全市: { color: '#70ad47', shape: 'circle' },
    }

    const scatterPlot = new Scatter('container', {
      padding: [30, 30, 50, 50],
      data,
      xField: 'yField',
      yField: 'value',
      colorField: 'category',
      color: ({ category }) => {
        return cateMap[category].color
      },
      size: 8,
      legend: {
        layout: 'horizontal',
        position: 'top',
        marker: {
          style: {
            r: 7,
          },
        },
      },
      shapeField: 'category',
      shape: ({ category }) => {
        return cateMap[category].shape
      },
      yAxis: {
        grid: null,
        nice: true,
        line: {
          style: {
            stroke: '#aaa',
          },
        },
        title: {
          text: '上线率',
          position: 'end',
          offset: 30,
          // autoRotate: false,
        },
      },
      xAxis: {
        title: {
          text: '',
          position: 'end',
        },
        grid: {
          line: {
            style: {
              stroke: '#eee',
            },
          },
        },
        line: {
          style: {
            stroke: '#aaa',
          },
        },
      },
    })
    scatterPlot.render()
  },
}
</script>

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

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

相关文章

玩转ChatGPT:名单排序

一、写在前面 最近在文秘工作中&#xff0c;碰到一个名字排序的问题&#xff0c;大概的规则&#xff1a; &#xff08;1&#xff09;按照第一个汉字的首字母的英文单词排序&#xff0c;从A-Z&#xff1b; &#xff08;2&#xff09;若第一个字的首字母一致&#xff0c;则比较…

【920信号与系统笔记】第三章 连续信号的正交分解

连续信号的正交分解 3.1引言3.3信号表示为傅里叶级数(FS)三角傅里叶级数1. 本质展开式1展开式2展开条件-狄利克雷条件分量概念补充 指数傅里叶级数使用条件形式1&#xff08;按连续信号的正交分解定义展开&#xff09;形式2&#xff08;由三角函数形式的傅里叶级数推导&#xf…

力扣笔记(每日随机一题)——最佳买卖股票时机含冷冻期

问题&#xff08;中等&#xff09; 给定一个整数数组prices&#xff0c;其中第 prices[i] 表示第 i 天的股票价格 。​ 设计一个算法计算出最大利润。在满足以下约束条件下&#xff0c;你可以尽可能地完成更多的交易&#xff08;多次买卖一支股票&#xff09;: 卖出股票后&a…

Unity HybridCLR + Xlua + Addressable 要点记要

接入缘由 老工程原本是C#&#xff0c;想做热更&#xff0c;于是接入了Xlua和Addressable。由于工程老&#xff0c;人手也不够&#xff0c;只是新代码使用Xlua&#xff0c;老功能&#xff08;尤其是核心战斗还是C#&#xff09;。大半年后觉得并不能达到预期需求。于是通过再接入…

vue-element-admin项目学习笔记(4)路由分析二:动态路由及permission.js

路由模块非常重要&#xff0c;自己基于这个框架进行开发&#xff0c;这个必须吃透&#xff01;&#xff01; 前情回顾&#xff1a; vue-element-admin项目学习笔记&#xff08;1&#xff09;安装、配置、启动项目 vue-element-admin项目学习笔记&#xff08;2&#xff09;main.…

改KendoReactUI组件,实现多个子元素的样式不一样

before after 问题描述 使用KendoReact RadioButton 组件&#xff0c;当用户选中当前项时需要显示不同颜色&#xff0c;试图通过找到KendoUI中对应的class name&#xff0c;然后修改这个class name下面的css来达到目的&#xff0c;但不起作用解决办法 用js控制style核心代码 …

华为OD机试之查找众数及中位数(Java源码)

查找众数及中位数 题目描述 众数是指一组数据中出现次数量多的那个数&#xff0c;众数可以是多个。 中位数是指把一组数据从小到大排列&#xff0c;最中间的那个数&#xff0c;如果这组数据的个数是奇数&#xff0c;那最中间那个就是中位数&#xff0c;如果这组数据的个数为偶…

从0开始搭建react项目(函数组件)

目录 项目搭建步骤 本地开发环境 脚手架构建项目 关联Git仓库 strictMode 严格模式 路由配置 路由传参 路由守卫 数据绑定 生命周期 父子组件通信 redux持久化 安装Sass 安装postcss-pxtorem&#xff08;移动端项目&#xff09; 安装axios 环境变量 本地代理 …

直播预告:CoremailHVV经验分享与重保整体解决方案发布

面对更具有目的性、针对性的网络攻击压力&#xff0c;重保既是抵抗攻击的重要举措&#xff0c;也是数字经济时代下企业发展的刚需。 正值重保期&#xff0c;企业在面对多样化的攻击手段、持续化的攻击行为、剧增化的攻击危害&#xff0c;应该如何应对重保大考&#xff1f; 6月1…

供应链安全

供应链安全 目录 文章目录 供应链安全目录本节实战可信任软件供应链概述构建镜像Dockerfile文件优化镜像漏洞扫描工具&#xff1a;Trivy检查YAML文件安全配置&#xff1a;kubesec准入控制器&#xff1a; Admission Webhook准入控制器&#xff1a; ImagePolicyWebhook关于我最后…

openpnp - 底部相机支架的制作

文章目录 openpnp - 底部相机支架的制作概述END openpnp - 底部相机支架的制作 概述 前几天总结了底部相机校验通不过的原因(openpnp - 底部相机矫正(subject not found)的原因总结), 并且可以校验通过了. 好景不长, 在校验通过的第三天(中间再穿插做其他事情), 从头做了一次…

【ArcGIS Pro二次开发】(38):清理字段值(空格、空值)

由于一些不规范的输入&#xff0c;或是其它数据转换而来&#xff0c;要素类或者独立表的字段值经常含有空值、空格等影响数据质量的内容。 这个工具的目的就是清理、转换这些字段内容&#xff0c;提高数据质量。 一、要实现的功能 如上图所示&#xff0c;点击【清洗字段值】按…

springboot+vue+java仓库管理系统_0r36w

部门管理员&#xff1a; 申购入库&#xff1a;发起申购&#xff0c;进行入库申请。 调拨申请&#xff1a;发起资产调拨的申请以及查看申请的详情信息。 出库管理&#xff1a;查看调拨的详情信息&#xff0c;可以进行资产的申请报废以及申请维修。 资产报废查询&#xff1a;查看…

薛定谔maestro 安装

【1】先删除之前不能用的文件包 【2】tar -xvf 解压包 进行解压 【3】cd 解压出来的文件下 【4】sudo ./INSTALL 【也可以不用sudo&#xff0c;我的电脑不知道上面问题&#xff0c;需要用sudo&#xff0c;否则在之后创建生成文件夹的时候没有权限】 【5】根据操作一步一步…

电子行业 K 公司对接 Nexperia EDI 项目案例

项目背景 Nexperia 是一家全球领先的半导体制造商&#xff0c;专注于提供高性能、高可靠性和创新性的半导体解决方案。公司成立于2017年&#xff0c;是前飞思卡尔半导体业务的一部分&#xff0c;并在全球范围内拥有多个设计、研发和生产基地。 Nexperia 使用 EDI&#xff08;…

【VMware】虚拟机安装centos7

目录 一、创建虚拟机 1、自定义 2、选择需要安装的操作系统 3、选择虚拟机安装位置 4、选择处理器配置&#xff08;可先默认&#xff09; 5、设置虚拟内存&#xff08;一般4096&#xff09; 6、选择网络连接方式 7、选择I/O控制器 8、选择磁盘类型 9、选择磁盘 10、指定磁盘容…

真刑!几行代码端了整个教务系统。。

今天给大家伙分享一个网络安全的案例&#xff0c;程序员和网安同学都可以看看&#xff0c; 前言&#xff1a;本文中涉及到的相关漏洞已报送厂商并得到修复&#xff0c;本文仅限技术研究与讨论&#xff0c;严禁用于非法用途&#xff0c;否则产生的一切后果自行承担 漏洞成因 事…

佩戴舒适的蓝牙耳机哪款比较好用?佩戴舒适度最好的蓝牙耳机推荐

​关于蓝牙耳机佩戴舒适度及音质表现的问题&#xff0c;经常有很多小伙伴在问&#xff0c;或许大家更习惯用价格去界定一个蓝牙耳机的定位。本篇文章主要给大家介绍哪款蓝牙耳机比较好用&#xff0c;很值得入手的蓝牙耳机&#xff0c;一起来看看吧。 一、南卡OE蓝牙耳机&#…

知识小结——HTTP协议相关

目录 TCP/IP URI / URL HTTPS 总结时间&#xff1a; TCP/IP协议簇 对TCP的理解 对UDP的理解 HTTP&#xff08;超文本传输协议&#xff09;是什么&#xff1f; HTTPS&#xff08;安全超文本传输协议&#xff09;是什么&#xff1f; HTTPS的特点&#xff1a; HTTPS协议…

【Linux】linux下使用命令修改jar包内某一个文件中的内容并重新运行jar程序

linux下使用命令修改jar包内某一个文件中的内容并重新运行jar程序 一、背景描述二、vi命令编辑三、启动程序四、拓展--启动脚本 一、背景描述 需求&#xff1a;发现线上的 iotp-irsb-server-v1.0.0.2.jar 包中配置文件的日志级别配置错误&#xff0c;需要在线修改jar包中文件的…