关于echarts中使用到的图例、颜色设置、设置tooltip换行显示等问题

news/2024/7/7 19:48:25 标签: echarts, 前端, vue

最近使用echarts中用到图例随机生成,颜色多不好设置的问题,图例多展示出现不全,不能根据颜色判断图例和数据的问题等总结一下

原始代码:

that_ge.charts = echarts.init(document.getElementById('paramenterEcharts'));
      that_ge.alarmTypeLine = ['风速1','风速2','风速3','风速4','风速5','风速6','风速7','风速8','风速9','风速10','风速11','风速12','风速13','风速14','风速15',]
      that_ge.charts.setOption({
        color: that_ge.randerColor(),
        tooltip: {
          trigger: 'axis',
          show:true, //这些是防止过多看不到,根据自己的需要进行注释就行。
          showDelay:0,//这些是防止过多看不到,根据自己的需要进行注释就行。
          hideDelay:50,//这些是防止过多看不到,根据自己的需要进行注释就行。
          padding:10,//这些是防止过多看不到,根据自己的需要进行注释就行。
          confine:true,//这些是防止过多看不到,根据自己的需要进行注释就行。
          formatter:e=>{ // 遍历出图标和颜色、数值
            var tip = "";
            if(e !== null && e.length > 0){
              tip += e[0].name + '<br/>';
              for(let i=0;i<e.length;i++){
                if(i % 3  === 0){
                  tip += e[i].marker + e[i].seriesName + ": " + e[i].value + "<br/>";
                }else{
                  tip += e[i].marker + e[i].seriesName + ": " + e[i].value + "&nbsp;&nbsp;";
                }
              }
              return tip;
            }
          }
        },
        grid: {
          left: '4%',
          top:'2%',
        },
        legend: {
          left: 'right', // 水平位置,可选值:'left', 'center', 'right'
          type: 'scroll', // 使用滚动分页的图例
          right: 100,           
          top: 30,        
          bottom: 20,  
          orient: 'vertical', // 可选值:'horizontal' 或 'vertical'    
          // data:legendData,              
        },
        xAxis: [
          {
            type: 'category',
            axisTick: {
              alignWithLabel: true
            },
            // data: val.data.xtimes,
            data: [1,2,3,4,5,6,7,8,9],
            axisLabel:{
              color:"#22b8ff",
            },
          },
        ],
        dataZoom: [//X轴鼠标滑动
          {show: true,realtime: true,start: 0,end: 100},
          {type: 'inside',realtime: true,start: 0,end: 100}
        ],
        yAxis: {
          type: 'value'
        },
        series: [
          {
            name: '风速1',
            type: 'line',
            data: [4,5,6,8,9,4,12,3,12],
            smooth: true,
          },
          {
            name: '风速2',
            type: 'line',
            data: [4,5,6,8,9,4,12,3,12],
            smooth: true,
          },
          {
            name: '风速3',
            type: 'line',
            data: [4,5,6,8,9,4,12,3,12],
            smooth: true,
          },
          {
            name: '风速4',
            type: 'line',
            data: [4,5,6,8,9,4,12,3,12],
            smooth: true,
          },
          {
            name: '风速5',
            type: 'line',
            data: [4,5,6,8,9,4,12,3,12],
            smooth: true,
          },
          {
            name: '风速6',
            type: 'line',
            data: [4,5,6,8,9,4,12,3,12],
            smooth: true,
          },
          {
            name: '风速7',
            type: 'line',
            data: [4,5,6,8,9,4,12,3,12],
            smooth: true,
          },
          {
            name: '风速8',
            type: 'line',
            data: [4,5,6,8,9,4,12,3,12],
            smooth: true,
          },
          {
            name: '风速9',
            type: 'line',
            data: [4,5,6,8,9,4,12,3,12],
            smooth: true,
          },
          {
            name: '风速10',
            type: 'line',
            data: [4,5,6,8,9,4,12,3,12],
            smooth: true,
          },
          {
            name: '风速11',
            type: 'line',
            data: [4,5,6,8,9,4,12,3,12],
            smooth: true,
          },
          {
            name: '风速12',
            type: 'line',
            data: [4,5,6,8,9,4,12,3,12],
            smooth: true,
          },
          {
            name: '风速13',
            type: 'line',
            data: [4,5,6,8,9,4,12,3,12],
            smooth: true,
          },
          {
            name: '风速14',
            type: 'line',
            data: [4,5,6,8,9,4,12,3,12],
            smooth: true,
          },
          {
            name: '风速15',
            type: 'line',
            data: [4,5,6,8,9,4,12,3,12],
            smooth: true,
          },
          {
            name: '风速16',
            type: 'line',
            data: [4,5,6,8,9,4,12,3,12],
            smooth: true,
          },
          {
            name: '风速17',
            type: 'line',
            data: [4,5,6,8,9,4,12,3,12],
            smooth: true,
          },
          {
            name: '风速18',
            type: 'line',
            data: [4,5,6,8,9,4,12,3,12],
            smooth: true,
          },
          {
            name: '风速19',
            type: 'line',
            data: [4,5,6,8,9,4,12,3,12],
            smooth: true,
          },
          {
            name: '风速20',
            type: 'line',
            data: [4,5,6,8,9,4,12,3,12],
            smooth: true,
          },
          {
            name: '风速21',
            type: 'line',
            data: [4,5,6,8,9,4,12,3,12],
            smooth: true,
          },
          {
            name: '风速22',
            type: 'line',
            data: [4,5,6,8,9,4,12,3,12],
            smooth: true,
          },
          {
            name: '风速23',
            type: 'line',
            data: [4,5,6,8,9,4,12,3,12],
            smooth: true,
          },
          {
            name: '风速24',
            type: 'line',
            data: [4,5,6,8,9,4,12,3,12],
            smooth: true,
          },
          {
            name: '风速25',
            type: 'line',
            data: [4,5,6,8,9,4,12,3,12],
            smooth: true,
          },
          {
            name: '风速26',
            type: 'line',
            data: [4,5,6,8,9,4,12,3,12],
            smooth: true,
          },
          {
            name: '风速27',
            type: 'line',
            data: [4,5,6,8,9,4,12,3,12],
            smooth: true,
          },
          {
            name: '风速28',
            type: 'line',
            data: [4,5,6,8,9,4,12,3,12],
            smooth: true,
          },
          {
            name: '风速29',
            type: 'line',
            data: [4,5,6,8,9,4,12,3,12],
            smooth: true,
          },
          {
            name: '风速30',
            type: 'line',
            data: [4,5,6,8,9,4,12,3,12],
            smooth: true,
          },
          {
            name: '风速31',
            type: 'line',
            data: [4,5,6,8,9,4,12,3,12],
            smooth: true,
          },
          {
            name: '风速32',
            type: 'line',
            data: [4,5,6,8,9,4,12,3,12],
            smooth: true,
          },
          {
            name: '风速33',
            type: 'line',
            data: [4,5,6,8,9,4,12,3,12],
            smooth: true,
          },
          {
            name: '风速34',
            type: 'line',
            data: [4,5,6,8,9,4,12,3,12],
            smooth: true,
          },
          {
            name: '风速35',
            type: 'line',
            data: [4,5,6,8,9,4,12,3,12],
            smooth: true,
          },
          {
            name: '风速36',
            type: 'line',
            data: [4,5,6,8,9,4,12,3,12],
            smooth: true,
          },
          {
            name: '风速37',
            type: 'line',
            data: [4,5,6,8,9,4,12,3,12],
            smooth: true,
          },
          {
            name: '风速38',
            type: 'line',
            data: [4,5,6,8,9,4,12,3,12],
            smooth: true,
          },
          {
            name: '风速39',
            type: 'line',
            data: [4,5,6,8,9,4,12,3,12],
            smooth: true,
          },
          {
            name: '风速40',
            type: 'line',
            data: [4,5,6,8,9,4,12,3,12],
            smooth: true,
          },
        ]
      })

这个是在随机生成颜色中要使用的图例内容一定要写上。

这个声明在data(){

        return{

                alarmTypeLine:'',//echarts图标名称

        }

}

随机生成的颜色代码:


randerColor(){ //echarts图颜色
          let arr = [];
      this.alarmTypeLine.forEach(item=>{
        this.random(arr)
      })
      return arr;
    },
    random(arr){ //echarts图颜色
      let color = 'rgb(' + [
        Math.round(Math.random() * 256),
        Math.round(Math.random() * 256),
        Math.round(Math.random() * 256)
      ].join(',') + ')';
      if(!arr.some(i=>i==color)){
        arr.push(color)
      }else{
        this.random(arr)
      }
    },


http://www.niftyadmin.cn/n/5536821.html

相关文章

ONLYOFFICE8.1版本桌面编辑器——功能测评

一、编辑DOCX 相信大家都有写word文档的经历&#xff0c;不知道大家是不是跟我一样&#xff0c;感觉做一个word不难&#xff0c;但想做好一个word却很麻烦&#xff0c;功能太多&#xff0c;看的人眼花缭乱&#xff0c;有时候一个功能要找很久&#xff0c;甚至有的功能用一辈子都…

大数据面试题之Spark(5)

Spark SQL与DataFrame的使用? Sparksql自定义函数?怎么创建DataFrame? HashPartitioner和RangePartitioner的实现 Spark的水塘抽样 DAGScheduler、TaskScheduler、SchedulerBackend实现原理 介绍下Sparkclient提交application后&#xff0c;接下来的流程? Spark的几种…

【matlab】回归预测——智能优化算法支持向量机

目录 引言 原理 应用 优势 总结 SVR安装 灰狼优化算法 代码实现 引言 原理 核心思想&#xff1a; SVR的目标是找到一个函数&#xff0c;该函数能够最小化预测误差&#xff0c;并在拟合过程中保持一定的间隔&#xff0c;使得大部分数据点都落在这个间隔之内。与SVM类似…

34.哀家要长脑子了!--归并排序

1.787. 归并排序 - AcWing题库 ① 确定分界点 mid l r >> 1 ② 递归排序 左边右边 ③ 合并有序数组 模板&#xff1a; void merge_sort(int q[], int l, int r){if(l > r) return 0;int mid l r >> 1;merge_sort(q, l ,mid), merge_sort(q, mid1, r…

数据分析三剑客-Matplotlib

数据分析三剑客 数据分析三剑客通常指的是在Python数据分析领域中&#xff0c;三个非常重要的工具和库&#xff1a;Pandas、NumPy和Matplotlib。Pandas主要负责数据处理和分析&#xff0c;NumPy专注于数值计算和数学运算&#xff0c;而Matplotlib则负责数据可视化。这三个库相…

[2024]docker-compose实战 (1)前言

前言 本文用来记录使用docker-compose来实战搭建一个多项目的测试环境. 环境中包含nodejs, php, html, redis, MongoDB, mysql. 在本次部署流程中, 尽量保证原镜像的"干净简洁", 尽量不会往镜像中加入各种软件和插件, 所有的配置尽可能的在宿主机映射进去. 项目…

【前端】IntersectionObserver 实现图片懒加载和无限滚动

【前端】IntersectionObserver 实现图片懒加载和无限滚动 在前端开发中&#xff0c;性能优化是一个重要的考量因素。随着现代网页和应用的复杂性增加&#xff0c;确保页面快速加载和流畅运行变得越来越重要。本文将介绍一种强大的工具——IntersectionObserver API&#xff0c…

软件测试面试题:Redis的五种数据结构,以及使用的场景是什么?

字符串&#xff08;Strings&#xff09;&#xff1a;简单直接&#xff0c;就像记事本一样&#xff0c;用来存储和快速访问简单的数据&#xff0c;比如缓存网页或者保存用户会话信息。 列表&#xff08;Lists&#xff09;&#xff1a;有序的数据集合&#xff0c;适合用来存储按…