echarts雷达图自定义射线颜色、边框效果和背景样式

2023-11-19

目录

1、在官网找样例

2、初步改造示例,有个雏形

3、细节改造和优化

4、全部代码

5、原始效果和完成效果对比


 

1、在官网找样例

样例地址:Examples - Apache ECharts

 

2、初步改造示例,有个雏形

对应的代码(为了说明问题,这里只简单列了option的相关代码)

let demoOption = {
                radar: {
                    center: ["50%", "56%"],
                    indicator: [
                        { text: "语文", max: 150 },
                        { text: "数学", max: 150 },
                        { text: "英语", max: 150 },
                        { text: "物理", max: 120 },
                        { text: "化学", max: 108 },
                    ],
                },
                series: [
                    {
                        name: "成绩单",
                        type: "radar",
                        data: [
                            {
                                value: [100, 93, 123, 90, 70],
                                label: {
                                    show: true,
                                    formatter: function (params) {
                                        return params.value;
                                    },
                                },
                                areaStyle: {
                                    color: new echarts.graphic.RadialGradient(
                                        0.1,
                                        0.6,
                                        1,
                                        [
                                            {
                                                color: "rgba(255, 145, 124, 0.1)",
                                                offset: 0,
                                            },
                                            {
                                                color: "rgba(255, 145, 124, 0.9)",
                                                offset: 1,
                                            },
                                        ]
                                    ),
                                },
                            },
                        ],
                    },
                ],
            };

得到的效果如下图:

3、细节改造和优化

通过对比效果图和初步示例,我们发现需要改造的点:

  • 数据替换成展示数据
  • 雷达图圈层减少为3层
  • 射线颜色
  • 雷达图区域背景颜色
  • 雷达图边框颜色

根据这个思路我们就可以一点一点改造数据向着效果图靠拢,这里我就不一一去做代码对比了,很多要点我已经在代码中注释了。

4、全部代码

<template>
    <div class="con_bg">
        <div class="radarChart" ref="radarChart">
        </div>
        <!--echarts实例代码-->
        <div class="radarChart" ref="radarChartDemo">
        </div>
    </div>
</template>
<script>
import * as echarts from "echarts";

var chart = "";
var chartDemo = "";
var funnelChart = "";
export default {
    name: "",
    data() {
        return {};
    },
    mounted() {
        this.showRadarChart();
        this.showRadarChartDemo();
    },
    methods: {
        showRadarChart() {
            if (chart != null && chart != "" && chart != undefined) {
                chart.dispose();
            }
            chart = echarts.init(this.$refs.radarChart);

            let option = {
                radar: {
                    // shape: 'circle',
                    center: ["50%", "56%"],
                    splitNumber: 3, // 雷达图圈数设置
                    name: {
                        textStyle: {
                            color: "#fff",
                            fontSize: 10,
                            fontWeight: "500",
                            padding: 0,
                        },
                    },
                    // 设置雷达图中间射线的颜色
                    axisLine: {
                        lineStyle: {
                            color: "#013A3F",
                        },
                    },
                    indicator: [
                        { name: "河道偷排", max: 150 },
                        { name: "工地扬尘", max: 72 },
                        { name: "废弃偷排", max: 130 },
                        { name: "违规堆数", max: 120 },
                        { name: "生态应急", max: 140 },
                    ],
                    //雷达图背景的颜色,在这儿随便设置了一个颜色,完全不透明度为0,就实现了透明背景
                    splitArea: {
                        show: false,
                        areaStyle: {
                            color: "rgba(255,0,0,0)", // 图表背景的颜色
                        },
                    },
                    splitLine: {
                        show: true,
                        lineStyle: {
                            width: 1,
                            color: "#013A3F", // 设置网格的颜色
                        },
                    },
                },
                series: [
                    {
                        name: "成绩单",
                        type: "radar",
                        data: [
                            {
                                value: [100, 47, 64, 98, 132],
                                //symbol: "rect",
                                symbolSize: 2,
                                symbolColor: "#47EDFC",
                                //symbol: "none", //去掉折线上的小圆点
                                areaStyle: { color: "rgba(71,237,252,.3)" }, //雷达覆盖区域背景颜色
                                lineStyle: {
                                    color: "#47EDFC",
                                },
                                // itemStyle: {
                                //     color: "#47EDFC",
                                // },
                                label: {
                                    show: true,
                                    formatter: function (params) {
                                        return params.value;
                                    },
                                },
                            },
                        ],
                    },
                ],
            };
            chart.clear();
            chart.setOption(option);

            window.addEventListener("resize", () => {
                chart.resize();
            });
        },
        showRadarChartDemo() {
            if (
                chartDemo != null &&
                chartDemo != "" &&
                chartDemo != undefined
            ) {
                chartDemo.dispose();
            }
            chartDemo = echarts.init(this.$refs.radarChartDemo);

            let demoOption = {
                radar: {
                    center: ["50%", "56%"],
                    indicator: [
                        { text: "语文", max: 150 },
                        { text: "数学", max: 150 },
                        { text: "英语", max: 150 },
                        { text: "物理", max: 120 },
                        { text: "化学", max: 108 },
                    ],
                },
                series: [
                    {
                        name: "成绩单",
                        type: "radar",
                        data: [
                            {
                                value: [100, 93, 123, 90, 70],
                                label: {
                                    show: true,
                                    formatter: function (params) {
                                        return params.value;
                                    },
                                },
                                areaStyle: {
                                    color: new echarts.graphic.RadialGradient(
                                        0.1,
                                        0.6,
                                        1,
                                        [
                                            {
                                                color: "rgba(255, 145, 124, 0.1)",
                                                offset: 0,
                                            },
                                            {
                                                color: "rgba(255, 145, 124, 0.9)",
                                                offset: 1,
                                            },
                                        ]
                                    ),
                                },
                            },
                        ],
                    },
                ],
            };
            chartDemo.clear();
            chartDemo.setOption(demoOption);

            window.addEventListener("resize", () => {
                chartDemo.resize();
            });
        },
    },
};
</script>
<style scoped>
.con_bg {
    /* background-color: #010c17; */
    background-image: url("/img/bg.png");
    width: 490px;
    height: 490px;
    border-radius: 3px;
    position: absolute;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
}
.radarChart {
    width: 424px;
    height: 152px;
    background-image: url("/img/ld.png");
    margin: 20px auto;
}
</style>

5、原始效果和完成效果对比

 各种效果变化,你可以在实操中,慢慢体会。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

echarts雷达图自定义射线颜色、边框效果和背景样式 的相关文章

  • Linux下防御ddos攻击

    1 Linux下防御ddos攻击 导读 Linux服务器在运营过程中可能会受到黑客攻击 常见的攻击方式有SYN DDOS等 通过更换IP 查找被攻击的站点可能避开攻击 但是中断服务的时间比较长 比较彻底的解决方法是添置硬件防火墙 不过 硬件

随机推荐

  • spring-boot的快速开发

    1 使用Intellij中的Spring Initializr来快速构建Spring Boot Cloud工程 菜单栏中选中Files gt New gt Projects 这个Initializr Service URL 我们一般使用默认
  • 短视频文案如何写,学会以下几种方法,离爆款绝对不远。

    短视频运营 视频肯定是关键 文案是对视频的一种衬托 但是也并不代表文案不重要 在短视频中的段子文案也是精心设计的 所以今天要分享的是视频介绍里的文案 是怎么炼成的 下面就跟大家讲讲如何写出比较好的视频文案 仅仅是形式 具体还是要看自己进行灵
  • 如何在figma中做交互设计

    近一年来 Figma它可以说是体验设计领域最受欢迎的工具 最近 我开始频繁地工作 Axure9 0和Figma切换使用 深刻感受到设计细节带来的体验差异化 今天 通过一些细节和亮点 总结了工具软件体验设计的几个原则 添加图片注释 不超过 1
  • 手把手教你K最近邻分类器分类CIFAR-10

    KNN算法全称为k Nearest Neighbor Classifier 即k最近邻分类器 它可以看作是Nearest Neighbor Classifier最近邻分类器的加强版 无论是最近邻分类器还是k最近邻分类器 其原理都比较简单 其
  • 前端基础之JavaScript

    知识预览 JavaScript概述 JavaScript的基础 JavaScript的对象 BOM对象 DOM对象 实例练习 js扩展 一 JavaScript概述 JavaScript的历史 1992年Nombas开发出C minus m
  • Git 命令/配置笔记

    创建分支命令 git branch 分支名 切换分支命令 git checkout 分支名 合并分支 到当前分支 git merge 列出本地分支 git branch 删除分支 git branch d 分支名 指定标签信息命令 git
  • ESP8266 ERROR:cut here for exception decoder

    在使用ESP8266获取网站的json信息时 串口输出错误信息 cut here for exception decoder 解决办法 获取json的格式不正确 检查json格式的括号 是否缺少
  • 静态代码扫描中Java资源对象关闭的探究

    本人在探究静态代码扫描中资源对象关闭规则遇到了一些疑惑 本文将这些疑惑记录下来并逐一找出解答 包括在哪些情况下 这些资源对象需要手动关闭 怎么正确的关闭 哪些情况下不需要手动关闭 以及为什么 资源对象包括很多种 本文重点关注输入输出流对象和
  • Process in Shell

    PID current process Get Process Get Process Select Object Name Get Process processname jm Select Object Get Process proc
  • 将本地项目上传到自己公司的gitlab(或是官网gitlab)下(第一次上传)

    转自 https blog csdn net litianxiang kaola article details 74075151 自己公司的gitlab和官网gitlab都是以下的操作步骤 我是自己公司的gitlab已成功 1 安装git
  • python学习笔记(五)---函数

    函数的定义 定义一个函数要使用def语句 依次写出函数名 括号 括号中的参数和冒号 然后 在缩进块中编写函数体 函数的返回值用return语句返回 求绝对值的my abs函数 def my abs x if x gt 0 return x
  • 转载的开源干货

    android相关 第三方库 awesome android ui 大量 Android UI UX 库 大城小黄 recyclerview animators 一个关于RecyclerView items的动画库 一个简单的Recycle
  • 树形排序-TreeMap或者递归

    1TreeMap TreeMap来实现树形结构的排序 TreeMap是一个有序的key value集合 它是通过红黑树实现的 TreeMap默认按照key的升序排序 如果您想要按照每个层级的创建时间排序 您可以将每个节点的创建时间作为key
  • Failed to execute goal on project...

    从eclipse 换到idea 导入了一个maven的父子项目 在idea中的maven project idea双击shift键 执行maven package命令 结果报错 Failed to execute goal on proje
  • 【STM32】时钟系统知识

    基础知识 1 STM32 有5个时钟源 HSI HSE LSI LSE PLL HSI是高速内部时钟 RC振荡器 频率为8MHz 精度不高 HSE是高速外部时钟 可接石英 陶瓷谐振器 或者接外部时钟源 频率范围为4MHz 16MHz LSI
  • plc输入/输出模块的选择

    1 数字量输入模块的选择 1 选择电压等级 根据电压 有DC 5V 12V 24V 48V 60V和交流110V 220V 2 按保护形式分为隔离型和非隔离型两种 3 选择模块密度 按点数分为8分 16分 32分 64分 高密度模块 如32
  • ML--HMM(隐马尔可夫模型及python的实现1)

    1 综述 隐马尔可夫模型是马尔可夫模型的进一步发展 马尔可夫模型是马尔可夫过程的模型化 可以用图1 a 的框图形象表示 它把一个总随机过程看成一系列状态的不断转移 图1 b 是隐马尔可夫模型 1 1几个需要理解的概念 a 马尔可夫性 如果一
  • [QT编程系列-19]: 基础框架 - 信号与槽背后的编程思想

    目录 一 主要的架构思想 二 主要的编程思想 一 主要的架构思想 信号与槽 Signals and Slots 是Qt框架中的一种机制 背后的思想主要有以下几个方面 解耦和松耦合 信号与槽机制通过解耦发出信号的对象和处理信号的对象之间的依赖
  • SQL Server 2012的安装与环境配置以及在Java中连接数据库

    自学Java也已快有一个月了 虽然本人从事的是FPGA开发的工作 但是对于软件开发兴趣盎然 没办法只能工作之余自己慢慢自学了 这应该是我的第一篇Java学习文章 希望以后自己能够坚持 记录一些学习过程 做一些有意思的事 慢慢实现自己的目标吧
  • echarts雷达图自定义射线颜色、边框效果和背景样式

    目录 1 在官网找样例 2 初步改造示例 有个雏形 3 细节改造和优化 4 全部代码 5 原始效果和完成效果对比 1 在官网找样例 样例地址 Examples Apache ECharts 2 初步改造示例 有个雏形 对应的代码 为了说明问