百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 热门文章 > 正文

分享7个常用的echarts示例

bigegpt 2025-01-20 10:56 7 浏览

1、对于位置不够显示的坐标值,使用斜显示;

xAxis>axisLabel>rotate”设置倾斜角度;

xAxis: {
  type: 'category',
  axisLabel: {
    color: '#b8e8fd',
    interval: 0,
    rotate: 30
  },
  axisLine: {
    lineStyle: {
      color: '#8dc1d8'
    }
  },
  axisTick: {
    show: false
  },
  data: totalValueData.xData
}


2、对于坐标值比较长的名称,使用换行显示;

xAxis>axisLabel>formatter”设置换行格式;

formatter: function(params) {
  var newParamsName = ""; // 最终拼接成的字符串
  var paramsNameNumber = params.length; // 实际标签的个数
  var provideNumber = 4; // 每行能显示的字的个数
  var rowNumber = Math.ceil(paramsNameNumber / provideNumber); // 换行的话,需要显示几行,向上取整
  /**
   * 判断标签的个数是否大于规定的个数, 如果大于,则进行换行处理 如果不大于,即等于或小于,就返回原标签
   */
  // 条件等同于rowNumber>1
  if (paramsNameNumber > provideNumber) {
    /** 循环每一行,p表示行 */
    for (var p = 0; p < rowNumber; p++) {
      var tempStr = ""; // 表示每一次截取的字符串
      var start = p * provideNumber; // 开始截取的位置
      var end = start + provideNumber; // 结束截取的位置
      // 此处特殊处理最后一行的索引值
      if (p == rowNumber - 1) {
        // 最后一次不换行
        tempStr = params.substring(start, paramsNameNumber);
      } else {
        // 每一次拼接字符串并换行
        tempStr = params.substring(start, end) + "\n";
      }
      newParamsName += tempStr; // 最终拼成的字符串
    }
  } else {
    // 将旧标签的值赋给新标签
    newParamsName = params;
  }
  //将最终的字符串返回
  return newParamsName
}


3、对于坐标值超长的名称,使用省略号+移上去显示;

xAxis>axisLabel>formatter”设置省略号格式;

增加“tooltip”,移上去显示详细内容;

formatter: function(params) {
  var newParamsName = ""; // 最终拼接成的字符串
  params = params.length <= 6 ? params : params.substring(0, 4) + '...';
  var paramsNameNumber = params.length; // 实际标签的个数
  var provideNumber = 7; // 每行能显示的字的个数
  var rowNumber = Math.ceil(paramsNameNumber / provideNumber); // 换行的话,需要显示几行,向上取整
  /**
   * 判断标签的个数是否大于规定的个数, 如果大于,则进行换行处理 如果不大于,即等于或小于,就返回原标签
   */
  // 条件等同于rowNumber>1
  if (paramsNameNumber > provideNumber) {
    /** 循环每一行,p表示行 */
    for (var p = 0; p < rowNumber; p++) {
      var tempStr = ""; // 表示每一次截取的字符串
      var start = p * provideNumber; // 开始截取的位置
      var end = start + provideNumber; // 结束截取的位置
      // 此处特殊处理最后一行的索引值
      if (p == rowNumber - 1) {
        // 最后一次不换行
        tempStr = params.substring(start, paramsNameNumber);
      } else {
        // 每一次拼接字符串并换行
        tempStr = params.substring(start, end) + "\n";
      }
      newParamsName += tempStr; // 最终拼成的字符串
    }


  } else {
    // 将旧标签的值赋给新标签
    newParamsName = params;
  }
  //将最终的字符串返回
  return newParamsName
}
tooltip: {
  trigger: 'axis',
  axisPointer: { // 坐标轴指示器,坐标轴触发有效
    type: 'line' // 默认为直线,可选为:'line' | 'shadow'
  }
}


4、修改折线图区域的渐变色;

series>areaStyle”设置渐变色的数据;

areaStyle: {
  normal: {
    color: new echarts.graphic.LinearGradient(
      0,
      0,
      0,
      1,
      [{
          offset: 0,
          color: 'rgba(21, 144, 229, 1)'
        },
        {
          offset: 1,
          color: 'rgba(21, 144, 229, 0.1)'
        }
      ],
      false
    ),
    shadowColor: 'rgba(21, 144, 229, 0.1)',
    shadowBlur: 10
  }
}


5、饼图中间增加显示的内容;

title”设置内容、位置和颜色等;

title: [{
  text: '合计总数',
  x: '29%',
  top: '42%',
  textStyle: {
    color: '#5bb9fc',
    fontSize: size_obj.s12
  }
}, {
  text: totalValue,
  x: '30%',
  top: '50%',
  textStyle: {
    fontSize: size_obj.s14,
    color: '#fff'
  },
}]


6、实现三色仪表盘;

全代码如下;

var chartDom01 = document.getElementById('gauge-1');
var myChart01 = echarts.init(chartDom01);
var option01;


option01 = {
  title: {
    text: '溶解氧(mg/L)',
    textStyle: {
      color: '#b8e8fd',
      fontSize: 12,
      fontWeight: 'normal'
    },
    top: 18
  },
  series: [{
    type: 'gauge',
    splitNumber: 1,
    radius: '93%',
    center: ["50%", "52%"],
    startAngle: 180,
    endAngle: 0,
    min: 0,
    max: 50,
    pointer: {
      show: true,
      width: 7,
      length: "60%",
      borderColor: '#000',
      borderWidth: '10',
    },
    axisLine: {
      show: true,
      lineStyle: {
        width: 36,
        color: [
          [0, 'transparent'],
          [0.333333, '#ffb345'],
          [0.343333, 'transparent'],
          [0.666666, '#19aced'],
          [0.676666, 'transparent'],
          [1, '#fa7383']
        ],
        borderColor: '#000',
        borderWidth: '10',
      },
    },
    axisLabel: {
      show: true,
      color: "#fff",
      fontSize: 12,
      distance: -14,
      padding: [30, 0, 0, 0],
      // formatter: function(value) {
      //   return value.toFixed(0);
      // },
    }, //刻度标签。
    axisTick: {
      show: false,


    }, //刻度样式            
    splitLine: {
      show: false,
      length: "28%",
      lineStyle: {
        color: "#fff",
        width: 2,
      },
    }, //分隔线样式
    detail: {
      show: true,
      formatter: ['{a|溶解氧}', '{value}'].join('\n'),
      fontSize: 20,
      color: '#15cd96',
      width: '100%',
      height: '-320%',
      padding: [-300, 0, 0, 0],
      rich: {
        a: {
          color: '#fff',
          fontSize: 12,
          padding: [10, 0, 10, 0],
        }
      }
    },
    title: {
      show: false
    },
    data: [{
      value: 2.77
    }]
    // data: DOData
  }]
};
myChart01.clear();
option01 && myChart01.setOption(option01);


7、实现数据定时切换,适合多数据无法全显示情况;

全代码如下;

var x_allData = ['晗宝SVANA的小店1', '晗宝SVANA的小店2', '晗宝SVANA的小店3', '晗宝SVANA的小店4', '晗宝SVANA的小店5', '晗宝SVANA的小店6', '晗宝SVANA的小店7', '晗宝SVANA的小店8', '晗宝SVANA的小店9', '晗宝SVANA的小店10', '晗宝SVANA的小店11', '晗宝SVANA的小店12'];
var y_allData = [535, 452, 348, 214, 119, 200, 352, 148, 247, 150, 250, 180];
var xData, yData;


// 初始化
xData = x_allData.slice(0, 5);
yData = y_allData.slice(0, 5);
updateChart(xData, yData)


// 循环切换数据
var n = Math.ceil(x_allData.length / 5); // 向上取整
var cur = 2,
  start, end;
var timer = setInterval(function() {
  if (cur > n) {
    cur = 1;
  };
  start = (cur - 1) * 5;
  end = cur * 5;
  xData = x_allData.slice(start, end);
  yData = y_allData.slice(start, end);
  updateChart(xData, yData);
  cur++;
  console.log(cur)
}, 3000);
// 更新图表
function updateChart(xData, yData) {
  var myChart_sxyy = echarts.init(document.getElementById('sxyy'));
  var option_sxyy = {
    tooltip: {
      trigger: 'axis',
      axisPointer: { // 坐标轴指示器,坐标轴触发有效
        type: 'line' // 默认为直线,可选为:'line' | 'shadow'
      }
    },
    grid: {
      left: '5%',
      right: '5%',
      bottom: 0,
      top: '5%',
      containLabel: true
    },
    xAxis: {
      show: false,
      type: 'value'
    },
    yAxis: [{
      type: 'category',
      inverse: true,
      axisLabel: {
        show: true,
        textStyle: {
          color: '#fff',
          margin: 12,
          fontSize: 12,
          lineHeight: 15
        }
      },
      splitLine: {
        show: false
      },
      axisTick: {
        show: false
      },
      axisLine: {
        show: false
      },
      data: xData
    }, {
      type: 'category',
      inverse: true,
      axisTick: 'none',
      axisLine: 'none',
      show: true,
      axisLabel: {
        textStyle: {
          color: '#ffffff',
          fontSize: 12
        },
        formatter: function(value) {
          return value.toLocaleString();
        },
      },
      data: yData
    }],
    series: [{
        name: '预约量',
        type: 'bar',
        zlevel: 1,
        itemStyle: {
          normal: {
            barBorderRadius: 30,
            color: new echarts.graphic.LinearGradient(
              0,
              0,
              1,
              0,
              [{
                  offset: 0,
                  color: 'rgba(57,89,255, 1)'
                },
                {
                  offset: 1,
                  color: 'rgba(46,200,207,1)'
                }
              ],
              false
            )
          },
        },
        barWidth: 15,
        data: yData
      },
      {
        name: '最大值',
        type: 'bar',
        barWidth: 15,
        barGap: '-100%',
        data: [1350, 1350, 1350, 1350, 1350],
        itemStyle: {
          normal: {
            color: 'rgba(24,31,68,1)',
            barBorderRadius: 30,
          }
        },
      },
    ]
  };
  myChart_sxyy.setOption(option_sxyy, true);
}

相关推荐

10w qps缓存数据库——Redis(redis缓存调优)

一、Redis数据库介绍:Redis:非关系型缓存数据库nosql:非关系型数据库没有表,没有表与表之间的关系,更不存在外键存储数据的形式为key:values的形式c语言写的服务(监听端口),用来存...

Redis系列专题4--Redis配置参数详解

本文基于windowsX64,3.2.100版本讲解,不同版本默认配置参数不同在Redis中,Redis的根目录中有一个配置文件(redis.conf,windows下为redis.windows....

开源一夏 | 23 张图,4500 字从入门到精通解释 Redis

redis是目前出场率最高的NoSQL数据库,同时也是一个开源的数据结构存储系统,在缓存、数据库、消息处理等场景使用的非常多,本文瑞哥就带着大家用一篇文章入门这个强大的开源数据库——Redis。...

redis的简单与集群搭建(redis建立集群)

Redis是什么?是开源免费用c语言编写的单线程高性能的(key-value形式)内存数据库,基于内存运行并支持持久化的nosql数据库作用主要用来做缓存,单不仅仅是做缓存,比如:redis的计数器生...

推荐几个好用Redis图形化客户端工具

RedisPlushttps://gitee.com/MaxBill/RedisPlusRedisPlus是为Redis可视化管理开发的一款开源免费的桌面客户端软件,支持Windows、Linux...

关于Redis在windows上运行及fork函数问题

Redis在将数据库进行持久化操作时,需要fork一个进程,但是windows并不支持fork,导致在持久化操作期间,Redis必须阻塞所有的客户端直至持久化操作完成。微软的一些工程师花费时间在解决在...

你必须懂的Redis十大应用场景(redis常见应用场景)

Redis作为一款高性能的键值存储数据库,在互联网业务中有着广泛的应用。今天,我们就来详细盘点一下Redis的十大常用业务场景,并附上Golang的示例代码和简图,帮助大家更好地理解和应用Redis。...

极简Redis配置(redis的配置)

一、概述Redis的配置文件位于Redis安装目录下,文件名为redis.conf(Windows名为redis.windows.conf,linux下的是redis.conf)你可以通过C...

什么是redis,怎么启动及如何压测

从今天起咱们一起来学习一下关于“redis监控与调优”的内容。一、Redis介绍Redis是一种高级key-value数据库。它跟memcached类似,不过数据可以持久化,而且支持的数据类型很丰富。...

一款全新Redis UI可视化管理工具,支持WebUI和桌面——P3X Redis UI

介绍P3XRedisUI这是一个非常实用的RedisGUI,提供响应式WebUI访问或作为桌面应用程序使用,桌面端是跨平台的,而且完美支持中文界面。Githubhttps://github....

windows系统的服务器快速部署java项目环境地址

1、mysql:https://dev.mysql.com/downloads/mysql/(msi安装包)2、redis:https://github.com/tporadowski/redis/r...

window11 下 redis 下载与安装(windows安装redis客户端)

#热爱编程是一种怎样的体验#window11下redis下载与安装1)各个版本redis下载(windows)https://github.com/MicrosoftArchive/r...

一款轻量级的Redis客户端工具,贼好用!

使用命令行来操作Redis是一件非常麻烦的事情,我们一般会选用客户端工具来操作Redis。今天给大家分享一款好用的Redis客户端工具TinyRDM,它的界面清新又优雅,希望对大家有所帮助!简介Ti...

一个.NET开发且功能强大的Windows远程控制系统

我们致力于探索、分享和推荐最新的实用技术栈、开源项目、框架和实用工具。每天都有新鲜的开源资讯等待你的发现!项目介绍SiMayRemoteMonitorOS是一个基于Windows的远程控制系统,完...

Redis客户端工具详解(4款主流工具)

大家好,我是mikechen。Redis是大型架构的基石,也是大厂最爱考察内容,今天就给大家重点详解4款Redis工具@mikechen本篇已收于mikechen原创超30万字《阿里架构师进阶专题合集...