两个方法实现echarts散点图的高光圆点

一、效果图:

 二、代码

方法一:通过series的itemStyle进行设置,type为'scatter'

在 ECharts 中,要在二维散点图上实现看似 3D 的高光圆点效果,可以通过自定义散点图的 itemStyle 属性来实现。虽然无法直接创建真正的 3D 效果,但可以通过阴影和高光来模拟出类似的视觉效果。以下是如何设置这种效果的步骤:

  1. 定义散点图数据和基本配置: 首先定义散点图的基本配置,包括 xAxisyAxis 和 series

  2. 自定义散点的样式: 在 series 配置中,你可以通过 itemStyle 属性自定义每个散点的样式。使用 colorborderColorshadowColor 和 shadowBlur 等属性来模拟高光和阴影效果。

  3. 使用渐变色增强效果: 为了更好地模拟 3D 效果,可以使用径向渐变色作为散点的填充色,从而创建出中心更亮、边缘更暗的高光效果。

import * as echarts from 'echarts';

const option: echarts.EChartsOption = {
    tooltip: {},
    xAxis: {
        type: 'category',
         ['A', 'B', 'C', 'D']
    },
    yAxis: {
        type: 'value'
    },
    series: [{
        type: 'scatter',
         [/* 数据数组 */],
        symbolSize: 20, // 设置散点大小
        itemStyle: {
            color: function (params) {
                // 使用径向渐变色
                const color = new echarts.graphic.RadialGradient(0.4, 0.3, 1, [{
                    offset: 0,// 调整这个值来控制高光区域的大小
                    color: 'white' // 高光颜色
                }, {
                    offset: 1,
                    color: 'red' // 散点基本颜色
                }]);
                return color;
            },
            shadowBlur: 10, // 阴影大小
            shadowColor: 'rgba(0, 0, 0, 0.5)' // 阴影颜色
        }
    }]
};

// 初始化图表
const myChart = echarts.init(document.getElementById('container') as HTMLDivElement);
myChart.setOption(option);

 方法二:通过series的renderItem进行设置,type为'custom'


series: [{
    type: 'custom',//注意type为'custom'
    renderItem: function (params, api) {
        var categoryIndex = api.value(0);
        var value = api.value(1);
        var point = api.coord([categoryIndex, value]);

        return {
            type: 'circle',
            shape: {
                cx: point[0],
                cy: point[1],
                r: 10 // 半径
            },
            style: api.style({
                fill: new echarts.graphic.RadialGradient(0.4, 0.3, 1, [{
                    offset: 0.2,//高光
                    color: 'white'
                }, {
                    offset: 1,
                    color: 'red'
                }]),
                shadowBlur: 10,
                shadowColor: 'rgba(0, 0, 0, 0.5)'
            })
        };
    },
     data
}]

 注意:

选择哪种方式视情况而定,
第一种方式更为简单,当symbol为'circle'时,可以打造高光圆的效果,适用于只有高光圆或者实心圆的情况;
第二种方式当symbol为'none'或者其他自定义字符串时依旧有效,适用于符号为高光圆实心圆或者同时存在的情况,将symbol设置为'none'或者其他自定义字符串例如'lightCircle'即可

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【备战蓝桥杯】Python 内置模块datetime的介绍和应用

🌈个人主页: Aileen_0v0 🔥热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 ​💫个人格言:“没有罗马,那就自己创造罗马~” #mermaid-svg-0TPX3guDWuSzAs1X {font-family:"trebuchet ms",verdana,arial,sans-serif;font-siz…

架构篇02-架构设计的历史背景

文章目录 机器语言(1940 年之前)汇编语言(20 世纪 40 年代)高级语言(20 世纪 50 年代)第一次软件危机与结构化程序设计(20 世纪 60 年代~20 世纪 70 年代)第二次软件危机与面向对象&…

设计模式——一文即可

对常用设计模式的总结,也是对设计模式专栏的总结 简单工厂模式 简单工厂模式(Simple Factory Pattern)是一种创建型设计模式,它提供了一种创建对象的最佳方式,通过将对象的创建逻辑封装在一个工厂类中,客…

设备树下Led驱动实验-向设备树文件添加Led设备节点

一. 简介 前面简单学习了设备树文件的内容,语法,以及如何向设备树文件中添加设备节点信息。学习了驱动开发时,会使用到的设备树常用OF操作函数。本文我们就开始第一个基于设备树的 Linux 驱动实验-LED驱动实现。 本文具体学习在设备树文件添…

MES管理系统解决方案在汽配企业质量控制中的作用

在当今高度自动化的制造业环境中,质量控制已成为确保产品高品质的关键。特别是在汽配企业,产品通常由多个部件组装而成,且这些部件可能来自不同的供应商。这种复杂的生产模式带来了一个挑战:如何确保每一次生产操作都是正确的&…

使用WAF防御网络上的隐蔽威胁之命令注入攻击

命令注入攻击是网络安全领域的一种严重威胁,它允许攻击者在易受攻击的应用程序上执行恶意命令。 这种攻击通常发生在应用程序将用户输入错误地处理为操作系统命令的情况下。 什么是命令注入攻击 定义:命令注入攻击发生在攻击者能够在易受攻击的应用程…

Pytorch基础:数据读取与预处理——图像读取与存储

Pytorch基础:数据读取与预处理——图像读取与存储 1.读取图片2. 使用 matplotlib 库显示和保存图像 1.读取图片 图像库 opencv-python、imageio、PIL 等都具有图像读取的功能。 (base) PS C:\Users\阳> conda activate yang (yang) PS C:\Users\阳> python …

构建未来教育:在线培训系统开发的技术探讨

随着远程学习的崛起和数字化教育的普及,在线培训系统的开发成为了现代教育的核心。本文将深入讨论在线培训系统的关键技术要点,涵盖前后端开发、数据库管理、以及安全性和身份验证等关键方面。 前端开发:提供交互性与用户友好体验 在构建在…

3d模型为什么打光只显示黑色---模大狮模型网

3D建模是现代制作动画、电影、游戏等数字媒体内容的重要工具。在建模过程中,打光是一个重要的环节,它可以让3D模型更加真实、有趣和生动。然而,如果打光不当,3D模型可能会呈现出黑色的效果,这可能会让人感到困惑和沮丧…

MySQL/Oracle 的 字符串拼接

目录 MySQL、Oracle 的 字符串拼接1、MySQL 的字符串拼接1.1 CONCAT(str1,str2,...) : 可以拼接多个字符串1.2 CONCAT_WS(separator,str1,str2,...) : 指定分隔符拼接多个字符串1.3 GROUP_CONCAT(expr) : 聚合函数,用于将多行的值连接成一个字符串。 2、Oracle 的字…

计算机网络(超详解!) 第二节 数据链路层(上)

1.数据链路层使用的信道 数据链路层使用的信道主要有以下两种类型: 1.点对点信道:这种信道使用一对一的点对点通信方式。 2.广播信道:这种信道使用一对多的广播通信方式,因此过程比较复杂。广播信道上连接的主机很多&#xff0…

服务器使用中容易遇见的问题和处理方法

服务器支撑着整个企业的信息数据,对公司的信息储存、业务开展、正常运作等等环节都具有着至关重要的意义。然而,服务器在日常运行过程中,由于其复杂的硬件结构、繁琐的运行原理,经常会出现一些大大小小的问题困扰着各位。下面精心…

java基础:使用冒泡排序求数组的最大值

什么是冒泡排序 冒泡排序是一种简单的排序算法,其基本思想是多次遍历待排序的元素,比较相邻的两个元素,如果顺序不对则交换它们的位置,直到整个序列按照从小到大(或从大到小)的顺序排列。 具体的步骤如下&…

gsap timeline示例-实现滚动切换手机颜色

前言 最近使用gsap有点上瘾。看过一个手机官网滚动切换手机颜色的效果,初次见还是很炫。所以呢,就去研究了下,发现也不过如此。我们现在使用gsap来实现它。 首先来看最终效果: gsap timeline示例-实现滚动切换手机颜色 实现原理…

Linux用户提权

新建用户 用root账户修改文件,添加信任用户 使用sudo提权,可以使用 **root删除新建账户**

微服务接口工具Swagger2

##1、什么是Swagger? # 官网 https://swagger.io/核心功能 生成接口说明文档生成接口测试工具 2、SpringBoot集成Swagger2 1&#xff09;、添加依赖 <!-- swagger2 --><!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 --><depen…

【昕宝爸爸小模块】深入浅出之JDK21 中的虚拟线程到底是怎么回事(一)

➡️博客首页 https://blog.csdn.net/Java_Yangxiaoyuan 欢迎优秀的你&#x1f44d;点赞、&#x1f5c2;️收藏、加❤️关注哦。 本文章CSDN首发&#xff0c;欢迎转载&#xff0c;要注明出处哦&#xff01; 先感谢优秀的你能认真的看完本文&…

开发设计和迭代管理效率提升:PDManer元数建模

一、引言 在复杂多变的软件开发全生命周期中&#xff0c;数据库设计与建模扮演着举足轻重的角色。这一环节不仅关乎数据存储效率和应用性能优化&#xff0c;而且对于系统架构稳健性及业务逻辑清晰化具有深远影响。因此&#xff0c;选择一款功能强大且高效的数据库建模工具至关…

01背包问题dp数组理解dp[i][j-w]

文章目录 一、01背包是什么&#xff1f;二、例子三、解决思路dp(动态规划) 一、01背包是什么&#xff1f; 有 n 件物品和一个最多能背重量为 w 的背包。第i件物品的重量是weight[i]&#xff0c;得到的价值是value[i] 。 每件物品只能用一次&#xff0c;求解将哪些物品装入背包…
最新文章