echarts 柱状图-折线图-饼图的基础使用

 上图示例图表展示相关配置:

      var myChart = echarts.init(this.$refs.firstMain);
      myChart.setOption({
        legend: { // 图例设置
          top: "15%",
          type: "scroll",
          orient: "vertical",//图例列表的布局朝向。
          left: "right",
          pageIconColor: 'red', // 激活的分页按钮颜色
          pageIconInactiveColor: 'yellow', // 没激活的分页按钮颜色
          selectedMode: false,
          pageIconSize: 12,  //当然就是按钮的大小
        },
        title: {
          text: "县区采集分布",
          left: "left",
        },
        tooltip: { // 提示框组件设置
          padding: [15, 15],
          enterable: true,// 鼠标是否可进入提示框浮层中,默认为false,如需详情内交互,如添加链接,按钮,可设置为 true。
          extraCssText: "max-width:60%;max-height:83%; overflow: auto; ",//额外附加到浮层的 css 样式。
          show: true,
          trigger: "item",
          confine: true, // 是否将 tooltip 框限制在图表的区域内。
          // dom: "overflow:hidden",
          formatter: function (params) {
            let htmlStr = `<span style="color:${params.color}">${params.data.value}</span>`;
            //圆点后面显示的名称'
            let res = params.marker +params.data.name +"&nbsp;&nbsp;" + htmlStr +"<br/>";
            for (var i = 0; i < params.data.list.length; i++) {
              let obj = params.data.list[i];
              res += `<div style="color:#999;text-indent:1em">${obj.label}&nbsp; &nbsp;<span style="color:#333333">${obj.total}</span></div>`;
            }
            return `${res}`; //最后返回拼接好的值
          },
        },
        grid: {
          left: "3%",
          top: "20%",
          right: "2%",
          bottom: "3%",
          containLabel: true,
        },
        dataset: {
          // 提供一份数据。
          dimensions: ["name", "value"],
          source: res.data.data,
        },
        graphic: { // 数据为空时展示为空提示
          type: "text", // 类型:文本
          left: "center",
          top: "middle",
          silent: true, // 不响应事件
          invisible: res.data.data.length > 0, // 有数据就隐藏
          style: {
            x: 0,
            y: 0,
            fill: "#9d9d9d",
            fontWeight: "bold",
            text: "暂无数据",
            fontFamily: "Microsoft YaHei",
            fontSize: "25px",
          },
        },
        series: [
          {
            name: this.emptyText,
            type: "pie",
            radius: ["35%", "45%"],
            roseType: "area",
            color: ["#4889FF", "#63C2FF", "#66E5E9", "#F478BB", "#AE8DFF"],
            itemStyle: {
              borderRadius: 8,
            },
            // 高亮样式
            emphasis: {
              label: {
                show: true,
                fontSize: 20,
                fontWeight: "bold",
              },
            },
            //label 饼图图形上的文本标签,可用于说明图形的一些数据信息,比如值,名称等。
            label: {
              position: "outer", //文本标签的位置。
              alignTo: "labelLine", //标签的对齐方式-折现的长短
              bleedMargin: 5,
              show: true,
              formatter: "{@name}" + "{d}%",
            },
          },
        ],
      });

 上述示例图表展示相关配置:

一般来说,饼图数据要么内部展示要么外部展示,上面这个饼图表,外部有折现展示,内部有百分比展示,这里series配置两个数据对象才能达到这样的效果,详见配置

var myChart = echarts.init(this.$refs.fiveMain);
      myChart.setOption({
        legend: {
          bottom: 40,
          selectedMode: false,
          show: res.data.data.length > 0,
        },
        // 高亮样式
        emphasis: {
          label: {
            show: true,
            fontSize: 20,
            fontWeight: "bold",
          },
        },
        tooltip: {
          padding: [15, 15],
          show: true,
          trigger: "item",
          formatter: function (params) {
            let htmlStr = `<span style="color:${params.color}">${params.data.value}</span>`;
            let res =
              params.marker +
              params.data.name +
              "&nbsp;&nbsp;" +
              htmlStr +
              "<br/>";
            return `${res}`; //最后返回拼接好的值
          },
        },
        label: {
          alignTo: "labelLine",
          formatter: function (data) {
            return `${data.percent}%\n\n${data.name}`;
          },
          minMargin: 5,
          edgeDistance: 10,
          lineHeight: 15,
        },

        dataset: {
          // 提供一份数据。
          dimensions: ["name", "value"],
          source: res.data.data,
        },
        series: [
          {
            name: "暂无数据",
            type: "pie",
            radius: "55%",
            color: ["#4889FF", "#63C2FF", "#66E5E9", "#8E8EFE"],
            // avoidLabelOverlap: false, //设置为true时,当数值为0时不重叠
            // roseType: "area",
            labelLayout: function (params) { //折现长短的效果
              const isLeft = params.labelRect.x < myChart.getWidth() / 2;
              const points = params.labelLinePoints;
              // Update the end point.
              points[2][0] = isLeft
                ? params.labelRect.x
                : params.labelRect.x + params.labelRect.width;
              return {
                labelLinePoints: points,
              };
            },
          },
          {
            name: "暂无数据",
            type: "pie",
            radius: "55%",
            // avoidLabelOverlap: false, //设置为true时,当数值为0时不重叠
            center: ["50%", "50%"],
            // 高亮样式
            emphasis: {
              label: {
                show: true,
                fontSize: 20,
                fontWeight: "bold",
              },
            },
            // roseType: "radius",
            color: ["#4889FF", "#63C2FF", "#66E5E9", "#F478BB", "#AE8DFF"],
            //label 饼图图形上的文本标签,可用于说明图形的一些数据信息,比如值,名称等。
            label: {
              show: true,
              position: "inside",
              formatter: `{d}%`,
              // formatter: '{b}: {c} ({d}%)',
            },
          },
        ],
        graphic: {
          type: "text", // 类型:文本
          left: "center",
          top: "middle",
          silent: true, // 不响应事件
          z: 5,
          invisible: res.data.data.length > 0, // 有数据就隐藏
          style: {
            x: 0,
            y: 0,
            fill: "#2d2c2c",
            fontWeight: "bold",
            text: "暂无数据",
            fontFamily: "Microsoft YaHei",
            fontSize: "25px",
          },
        },
      });

 上述示例图表展示相关配置:

      var myChart = echarts.init(this.$refs.threeMain);
      myChart.setOption({
        title: {
          text: "采集时间分布",
        },
        grid: {
          left: "3%",
          top: "25%",
          right: "2%",
          bottom: "2%",
          containLabel: true,
        },
        legend: {
          top: "10%",
          selectedMode: false,
        },
        tooltip: {
          trigger: "axis",
          confine: true, // 是否将 tooltip 框限制在图表的区域内。
          padding: [15, 15],
          enterable: true, // 鼠标是否可进入提示框浮层中,默认为false,如需详情内交互,如添加链接,按钮,可设置为 true。
          extraCssText: "max-width:60%;max-height:83%; overflow: auto; ", //额外附加到浮层的 css 样式。
        },
        xAxis: {
          show: true,
          type: "category",
          data: res.data.data.abscissa,
          // boundaryGap: false,
          axisLabel: {
            interval: 0,
            rotate: 25,
          },
          splitLine: {
            //网格线
            show: true,
          },
          axisTick: {
            show: false, // 不显示坐标轴刻度线
          },
        },
        yAxis: {
          show: true,
          type: "value",
          splitLine: {
            //网格线
            show: false,
          },
          // 坐标 轴线
          axisLine: {
            show: true,
          },
        },
        graphic: {
          type: "text", // 类型:文本
          left: "center",
          top: "middle",
          silent: true, // 不响应事件
          invisible: res.data.data.abscissa.length > 0, // 有数据就隐藏
          style: {
            x: 0,
            y: 0,
            fill: "#9d9d9d",
            fontWeight: "bold",
            text: "暂无数据",
            fontFamily: "Microsoft YaHei",
            fontSize: "25px",
          },
        },
        series: res.data.data.series,
      });

  上述示例图表展示相关配置:

      var myChart = echarts.init(this.$refs.fourMain);
      myChart.setOption({
        // title: {
        //   text: "年龄分布",
        // },
        tooltip: {
          show: true,
          trigger: "axis",
          axisPointer: { type: "shadow" },
          shadowstyle: {
            color: "#65A3FF",
            opacity: 0.2,
            width: "auto",
          },
        },
        xAxis: {
          type: "value",
          axisLine: {
            show: true, //不显示坐标轴线
          },
          axisTick: {
            show: false, // 不显示坐标轴刻度线
          },
          axisLabel: {
            formatter: function (value, index) {
              if (value == 0 || (value > 0 && value < 10000)) {
                return value + "";
              } else {
                return value / 10000 + "万";
              }
            },
          },
        },
        yAxis: {
          type: "category",
          // name: "单位(人)",
          data: res.data.data.ordinate,
          axisTick: {
            show: false, // 不显示坐标轴刻度线
          },
        },
        series: [
          {
            color: "#247FFF", // 柱状条颜色
            barWidth: 30, //柱子宽度
            data: res.data.data.abscissa,
            type: "bar",
            showBackground: true,//柱状阴影
            backgroundStyle: { //柱状阴影颜色
              color: "rgba(180, 180, 180, 0.2)",
            },
            label: {
              formatter: "{c}" + "",
              show: true,
              position: "right",
              fontWeight: "bolder",
              fontSize: "12",
              color: "#4889ff",
            },
          },
        ],
        graphic: {
          type: "text", // 类型:文本
          left: "center",
          top: "middle",
          silent: true, // 不响应事件
          invisible: res.data.data.abscissa.length > 0, // 有数据就隐藏
          style: {
            x: 0,
            y: 0,
            fill: "#9d9d9d",
            fontWeight: "bold",
            text: "暂无数据",
            fontFamily: "Microsoft YaHei",
            fontSize: "25px",
          },
        },
      });

   上述示例图表展示相关配置:

      var myChart = echarts.init(this.$refs.twoMain);
      myChart.setOption({
        title: {
          show: true,
          text: "学历分布",
          left: "left",
          top: "top",
        },
        grid: {
          left: "4%",
          top: "25%",
          right: "2%",
          bottom: "3%",
          containLabel: true,
        },
        tooltip: {
          show: true,
          trigger: "axis",
          axisPointer: { type: "shadow" },
          shadowstyle: {
            color: "#65A3FF",
            opacity: 0.2,
            width: "auto",
          },
        },
        xAxis: {
          type: "category",
          data: res.data.data.abscissa,
          axisTick: {
            show: false, // 不显示坐标轴刻度线
          },
        },
        yAxis: {
          show: true,
          type: "value",
          name: "数量(人)",
          // 坐标 轴线
          axisLine: {
            show: true,
          },
          // 坐标轴刻度线
          axisTick: {
            show: false,
          },
          //网格线
          splitLine: {
            show: true,
          },
        },
        graphic: {
          type: "text", // 类型:文本
          left: "center",
          top: "middle",
          silent: true, // 不响应事件
          invisible: res.data.data.ordinate.length > 0, // 有数据就隐藏
          style: {
            x: 0,
            y: 0,
            fill: "#9d9d9d",
            fontWeight: "bold",
            text: "暂无数据",
            fontFamily: "Microsoft YaHei",
            fontSize: "25px",
          },
        },
        series: [
          {
            data: res.data.data.ordinate,
            color: "#247FFF", // 柱状条颜色
            barWidth: 30, //柱子宽度
            type: "bar",
             showBackground: true,
            backgroundStyle: {
              color: "rgba(180, 180, 180, 0.2)",
            },
            label: {
              formatter: "{@num}" + "人",
              show: true,
              position: "top",
              fontWeight: "bolder",
              fontSize: "12",
              color: "#4889ff",
            },
          },
        ],
      });

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

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

相关文章

记录一个编译TubeTK时的报错:at_check问题

在使用如下命令安装TubeTK的cuda_nms时&#xff0c;报了一个错误&#xff0c;记录一下这个错误和解决办法 (base) redmeryredmery:~/Desktop/MOT/TubeTK/post_processing/nms$ python setup.py build_ext --inplace因为这个命令是在/home/redmery/Desktop/MOT/TubeTK/install/…

泛微 E-Office文件上传漏洞复现

声明 本文仅用于技术交流&#xff0c;请勿用于非法用途 由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失&#xff0c;均由使用者本人负责&#xff0c;文章作者不为此承担任何责任。 文章作者拥有对此文章的修改和解释权。如欲转载或传播此文章&#xff0c…

回归预测 | MATLAB实现BiLSTM双向长短期记忆神经网络多输入多输出预测

回归预测 | MATLAB实现BiLSTM双向长短期记忆神经网络多输入多输出预测 目录 回归预测 | MATLAB实现BiLSTM双向长短期记忆神经网络多输入多输出预测预测效果基本介绍程序设计往期精彩参考资料 预测效果 基本介绍 MATLAB实现BiLSTM双向长短期记忆神经网络多输入多输出预测&#x…

【刷题笔记8.17】LeetCode:最长公共前缀

LeetCode&#xff1a;最长公共前缀 &#xff08;一&#xff09;题目描述 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀&#xff0c;返回空字符串 “”。 &#xff08;二&#xff09;分析 纵向扫描时&#xff0c;从前往后遍历所有字符串的每一列&am…

【面试高频题】难度 3/5,字典树热门运用题

题目描述 这是 LeetCode 上的 「745. 前缀和后缀搜索」 &#xff0c;难度为 「困难」。 Tag : 「字典树」 设计一个包含一些单词的特殊词典&#xff0c;并能够通过前缀和后缀来检索单词。 实现 WordFilter 类&#xff1a; WordFilter(string[] words) 使用词典中的单词 words 初…

Appium-移动端自动测试框架,如何入门?

Appium是一个开源跨平台移动应用自动化测试框架。 既然只是想学习下Appium如何入门&#xff0c;那么我们就直奔主题。文章结构如下&#xff1a; 1、为什么要使用Appium&#xff1f; 2、如何搭建Appium工具环境?(超详细&#xff09; 3、通过demo演示Appium的使用 4、Appium如何…

《计算机网络:自顶向下方法》第五章--网络层:控制平面

控制平面作为一种网络范围的逻辑&#xff0c;不仅控制沿着从源主机到目的主机的端到端路径间的路由器如何转发数据报&#xff0c;而且控制网络层组件和服务如何配置和管理 传统上&#xff0c;控制平面功能与数据平面的转发功能在一起实现&#xff0c;在路由器中作为统一的整体…

手机技巧:推荐一款手机省电、提升流畅度APP

目录 软件详情 基本介绍 软件功能 软件特色 使用方法 软件对比 结论 今天给大家推荐一款手机省电、提升流畅度APP&#xff0c;感兴趣的朋友可以下载一下&#xff01; 软件详情 黑阈app是一款非常实用的系统优化类手机APP。使用它能够禁止软件后台运行耗电&#xff0c;既…

【仿写tomcat】四、解析http请求信息,响应给前端,HttpServletRequest、HttpServletResponse的简单实现

思考 在解析请求之前我们要思考一个问题&#xff0c;我们解析的是其中的哪些内容&#xff1f; 对于最基本的实现&#xff0c;当然是请求类型&#xff0c;请求的url以及请求参数&#xff0c;我们可以根据请求的类型作出对应的处理&#xff0c;通过url在我们的mapstore中找到se…

【视频笔记】解密RWKV线性注意力的进化过程

from&#xff1a; https://www.bilibili.com/video/BV1zW4y1D7Qg/?spm_id_from333.999.0.0&vd_source21cce77bb69d40a81e0d37999f2da0c2 文章目录 向量版 Self-attentionAFT 的线性AttentionRWKV的线性Attention 向量版 Self-attention 手动实现&#xff0c;可以看出 时间…

C++ 网络编程项目fastDFS分布式文件系统(三)-Nginx部分

目录 1. 一些基本概念 1.1 Nginx初步认识 1.2 正向/反向代理 1.3 域名和IP 2. Nginx 安装和配置 2.1 安装 2.2 配置 3. Nginx的使用 3.1 部署静态网页 3.2 反向代理和负载均衡 4 课外知识导读 1. URL和URI ​编辑 2. DNS解析过程 1. 一些基本概念 1.1 Nginx初步认…

go es实例

go es实例 1、下载第三方库 go get github.com/olivere/elastic下载过程中出现如下报错&#xff1a; 解决方案&#xff1a; 2、示例 import package mainimport ("context""encoding/json""fmt""reflect""time""…

Kotlin 基础教程二

constructor 构造器一般情况下可以简化为主构造器 即: class A constructor(参数) : 父类 (参数) 也可以在构造器上直接声明属性constructor ( var name) 这样可以全局访问 init { } 将和成员变量一起初始化 data class 可以简化一些bean类 比如get / set ,自动生成copy 函数…

QT实现天气预报

1. MainWindow类设计的成员变量和方法 public: MainWindow(QWidget* parent nullptr); ~MainWindow(); protected: 形成文本菜单来用来右键关闭窗口 void contextMenuEvent(QContextMenuEvent* event); 鼠标被点击之后此事件被调用 void mousePressEvent(QMouseEv…

win10系统docker创建ubuntu容器解决开发环境问题

一、win10系统使用docker的原因 最近啊&#xff0c;在学习人工智能-深度学习&#xff0c;用的win10系统进行开发&#xff0c;老是出现一些莫名其妙的问题&#xff0c;无法解决&#xff0c;每天都在为环境问题搞得伤透了脑筋。 说到底还是要使用Linux系统进行开发比较合适。 …

NodeJs导出PDF

&#xff08;优于别人&#xff0c;并不高贵&#xff0c;真正的高贵应该是优于过去的自己。——海明威&#xff09; 场景 根据订单参数生成账单PDF 结果 示例代码 /* eslint-disable no-unused-vars */ /* eslint-disable no-undef */ /* eslint-disable complexity */ const…

【bug】Unity无法创建项目

bug UnityHub无法创建项目 UnityHub无法创建项目 出现的问题&#xff1a;在创建新项目时弹出来一个 无法创建项目 尝试的方法&#xff1a; 刷新许可证 ❌没用退出账号重新登陆 ❌没用重启电脑 ❌没用 最后发现是什么问题呢&#xff1f; 2021.3.3这个版本我之前在资源管理器中…

Arcgis连续数据的分类(求不同值域的面积)

问题描述&#xff1a;如果得到的一个连续的影响数值数据&#xff0c;但是我们想求取某一段值域的面积占比&#xff0c;需要进行以下操作&#xff1a; 1.按照数值重分类&#xff0c;将某段数值变成一个类别 2.栅格转矢量&#xff0c;再求取面积

Kafka 集群搭建过程

前言 跟着尚硅谷海哥文档搭建的Kafka集群环境&#xff0c;在此记录一下&#xff0c;侵删 注意&#xff1a;博主在服务器上搭建环境的时候使用的是一个服务器&#xff0c;所以这篇博客可能会出现一些xsync分发到其他服务器时候的错误&#xff0c;如果你在搭建的过程中出现了错…

【脚踢数据结构】图(纯享版)

(꒪ꇴ꒪ )&#xff0c;Hello我是祐言QAQ我的博客主页&#xff1a;C/C语言&#xff0c;Linux基础&#xff0c;ARM开发板&#xff0c;软件配置等领域博主&#x1f30d;快上&#x1f698;&#xff0c;一起学习&#xff0c;让我们成为一个强大的攻城狮&#xff01;送给自己和读者的…