【ECharts】折线图

文章目录

  • 折线图1
  • 折线图2
  • 折线图3
  • 示例

参考:
Echarts官网
Echarts 配置项

折线图1

带X轴、Y轴标记线,其中X轴是’category’ 类目轴,适用于离散的类目数据。
在这里插入图片描述

let myChart = echarts.init(this.$refs.line_chart2);
let yList = [400, 500, 600, 800, 1200, 1500, 1300, 900, 700, 600, 500];
let xList = ['n-5', 'n-4', 'n-3', 'n-2', 'n-1', 'n', 'n+1', 'n+2', 'n+3', 'n+4', 'n+5'];
let option = {
  title: {
    text: '折线图2',
  },
  tooltip: { show: true },
  xAxis: {
    type: 'category',
    trigger: 'axis',
    axisPointer: {
      type: 'cross',
    },
    data: xList,
  },
  yAxis: {
    type: 'value',
    //网格线
    splitLine: {
      lineStyle: {
        type: 'dashed', //设置网格线类型 dotted:虚线 solid:实线
      },
    },
  },
  series: [
    {
      type: 'line',
      smooth: true,
      symbolSize: 6,
      symbol: 'circle',
      data: yList,
      color: '#FFC310',
      //区域填充样式
      areaStyle: {
        //线性渐变,前4个参数分别是x0,y0,x2,y2(范围0~1);相当于图形包围盒中的百分比。如果最后一个参数是‘true’,则该四个值是绝对像素位置。
        color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
          {
            offset: 0,
            color: 'rgba(246,198,56, 0.6)',
          },
          {
            offset: 1,
            color: 'rgba(246,198,56, 0)',
          },
        ]),
      },
      markLine: {
        silent: true,
        symbol: ['none', 'none'],
        lineStyle: {
          type: 'dashed',
          dashOffset: 1,
          width: 1,
          opacity: 0.6,
        },
        data: [
          {
            name: 'x轴标记线',
            xAxis: 'n',
            label: {
              formatter: '{b}:{c}',
            },
            lineStyle: {
              color: '#0050FF',
            },
          },
          {
            name: 'y轴标记线',
            yAxis: 800,
            label: {
              formatter: '{b}:{c}',
              position: 'insideEndTop',
            },
            lineStyle: {
              color: '#00C078',
            },
          },
        ],
      },
    },
  ],
};

myChart.setOption(option);

折线图2

带X轴、Y轴标记线,其中’value’ 数值轴,适用于连续数据。
在这里插入图片描述

let myChart = echarts.init(this.$refs.line_chart3);
let intervalNum = 2;
//  数据类型为二维数组
let dataArray = [
  [0, 400],
  [2, 500],
  [4, 800],
  [5, 1200],
  [7, 400],
  [8, 500],
  [10, 400],
  [12, 500],
];
let option = {
  title: {
    text: '折线图2',
  },
  tooltip: {
    show: true,
    trigger: 'axis',
    axisPointer: {
      type: 'cross',
    },
    formatter: '{c}',
  },
  xAxis: {
    type: 'value',
    axisTick: {
      // 文字对准刻度
      alignWithLabel: true,
      color: '#C1C7D0',
    },
    minInterval: intervalNum,
    maxssInterval: intervalNum,
  },
  yAxis: {
    type: 'value',
    //网格线
    splitLine: {
      lineStyle: {
        type: 'dashed', //设置网格线类型 dotted:虚线 solid:实线
      },
    },
  },
  series: [
    {
      type: 'line',
      smooth: true,
      symbolSize: 6,
      symbol: 'circle',
      data: dataArray,
      color: '#FFC310',
      //区域填充样式
      areaStyle: {
        //线性渐变,前4个参数分别是x0,y0,x2,y2(范围0~1);相当于图形包围盒中的百分比。如果最后一个参数是‘true’,则该四个值是绝对像素位置。
        color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
          {
            offset: 0,
            color: 'rgba(246,198,56, 0.6)',
          },
          {
            offset: 1,
            color: 'rgba(246,198,56, 0)',
          },
        ]),
      },
      markLine: {
        silent: true,
        symbol: ['none', 'none'],
        lineStyle: {
          color: '#FFC310',
          type: 'dashed',
          dashOffset: 1,
          width: 1,
          opacity: 0.6,
        },
        data: [
          {
            name: 'x轴标记线',
            xAxis: 7.2,
            label: {
              formatter: '{b}:{c}',
            },
            lineStyle: {
              color: '#0050FF',
            },
          },
          {
            name: 'y轴标记线',
            yAxis: 800,
            label: {
              formatter: '{b}:{c}',
              position: 'insideEndTop',
            },
            lineStyle: {
              color: '#00C078',
            },
          },
        ],
      },
    },
  ],
};
myChart.setOption(option);

折线图3

多条折线图
在这里插入图片描述

 let myChart = echarts.init(this.$refs.line_chart4);
 let option = {
   title: {
     text: '折线图3',
   },
   tooltip: {
     trigger: 'axis',
     valueFormatter: value => value + '个',
   },
   legend: {
     data: ['Email', 'Union Ads', 'Video Ads', 'Direct', 'Search Engine'],
   },
   grid: {
     left: '3%',
     right: '4%',
     bottom: '3%',
     containLabel: true,
   },
   toolbox: {
     feature: {
       saveAsImage: {},
     },
   },
   xAxis: {
     type: 'category',
     boundaryGap: false,
     data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
   },
   yAxis: {
     type: 'value',
   },
   series: [
     {
       name: 'Email',
       type: 'line',
       stack: 'Total',
       data: [120, 132, 101, 134, 90, 230, 210],
     },
     {
       name: 'Union Ads',
       type: 'line',
       stack: 'Total',
       data: [220, 182, 191, 234, 290, 330, 310],
     },
     {
       name: 'Video Ads',
       type: 'line',
       stack: 'Total',
       data: [150, 232, 201, 154, 190, 330, 410],
     },
     {
       name: 'Direct',
       type: 'line',
       stack: 'Total',
       data: [320, 332, 301, 334, 390, 330, 320],
     },
     {
       name: 'Search Engine',
       type: 'line',
       stack: 'Total',
       data: [820, 932, 901, 934, 1290, 1330, 1320],
     },
   ],
 };
 myChart.setOption(option);

示例

 <!--
 * @Description: 
 * @Author: HMM
 * @Date: 2023-05-22 10:49:48
 * @FilePath: \vue-antd-project2\src\views\LineChart.vue
-->
<template>
  <div class="lineChart">
    <div ref="line_chart1" style="width: 100%; height: 500px"></div>
    <div ref="line_chart2" style="width: 100%; height: 500px"></div>
    <div ref="line_chart3" style="width: 100%; height: 500px"></div>
    <div ref="line_chart4" style="width: 100%; height: 500px"></div>
    <br />
  </div>
</template>
<script>
import * as echarts from 'echarts';
export default {
  methods: {
    initLineChart1() {
      let myChart = echarts.init(this.$refs.line_chart1);
      let xData = ['9:00', '11:00', '', '15:00', '17:00', '', '20:00'];
      let valueData = [6.0, 8.5, 7.6, 3.5, 10.0, 9.5, 11.0];
      let option = {
        title: [
          {
            text: '恭喜您超过50%的组员!',
            top: '0',
            left: '20',
            textStyle: {
              color: '#FFA000',
              fontSize: 13,
            },
          },
        ],
        grid: {
          top: '50',
          left: '20',
          right: '20',
          bottom: '8%',
          containLabel: true,
        },
        xAxis: [
          {
            type: 'category',
            boundaryGap: false,
            axisLine: { show: false },
            axisLabel: {
              //坐标轴刻度标签的相关设置
              textStyle: {
                color: '#000000',
                margin: 15,
              },
            },
            axisTick: { show: false },
            data: xData,
          },
        ],
        yAxis: [
          {
            type: 'value',
            // min: 1,
            // max: 100,
            splitLine: { show: false },
            axisLine: { show: false },
            axisLabel: { show: false },
            axisTick: { show: false },
          },
        ],
        series: [
          {
            name: '金额',
            type: 'line',
            smooth: true, //是否平滑曲线显示
            symbol: 'none',
            color: '#1874FF',
            //区域填充样式
            areaStyle: {
              color: 'rgba(24,116,255, 0.2)',
              shadowColor: 'rgba(24,116,255, 0.9)',
              shadowBlur: 20,
            },
            data: valueData,
            markLine: {
              silent: true,
              symbol: ['none', 'none'],
              lineStyle: {
                width: 2,
                type: 'dotted',
                color: '#E9E9E9',
              },
              data: [
                {
                  name: '组均',
                  yAxis: 8,
                  label: {
                    position: 'insideStartTop',
                    formatter: '组均:{c} ',
                  },
                },
                {
                  name: '我的',
                  yAxis: 10,
                  label: {
                    position: 'insideStartTop',
                    formatter: '我的:{c} ',
                  },
                },
                {
                  name: '测试',
                  yAxis: 100,
                  label: {
                    position: 'insideStartTop',
                    formatter: '测试:{c} ',
                  },
                },
              ],
            },
          },
        ],
      };

      myChart.setOption(option);
    },
    initLineChart2() {
      let myChart = echarts.init(this.$refs.line_chart2);
      let yList = [400, 500, 600, 800, 1200, 1500, 1300, 900, 700, 600, 500];
      let xList = ['n-5', 'n-4', 'n-3', 'n-2', 'n-1', 'n', 'n+1', 'n+2', 'n+3', 'n+4', 'n+5'];
      let option = {
        title: {
          text: '折线图1',
        },
        tooltip: { show: true },
        xAxis: {
          type: 'category',
          trigger: 'axis',
          axisPointer: {
            type: 'cross',
          },
          data: xList,
        },
        yAxis: {
          type: 'value',
          //网格线
          splitLine: {
            lineStyle: {
              type: 'dashed', //设置网格线类型 dotted:虚线 solid:实线
            },
          },
        },
        series: [
          {
            type: 'line',
            smooth: true,
            symbolSize: 6,
            symbol: 'circle',
            data: yList,
            color: '#FFC310',
            //区域填充样式
            areaStyle: {
              //线性渐变,前4个参数分别是x0,y0,x2,y2(范围0~1);相当于图形包围盒中的百分比。如果最后一个参数是‘true’,则该四个值是绝对像素位置。
              color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
                {
                  offset: 0,
                  color: 'rgba(246,198,56, 0.6)',
                },
                {
                  offset: 1,
                  color: 'rgba(246,198,56, 0)',
                },
              ]),
            },
            markLine: {
              silent: true,
              symbol: ['none', 'none'],
              lineStyle: {
                type: 'dashed',
                dashOffset: 1,
                width: 1,
                opacity: 0.6,
              },
              data: [
                {
                  name: 'x轴标记线',
                  xAxis: 'n',
                  label: {
                    formatter: '{b}:{c}',
                  },
                  lineStyle: {
                    color: '#0050FF',
                  },
                },
                {
                  name: 'y轴标记线',
                  yAxis: 800,
                  label: {
                    formatter: '{b}:{c}',
                    position: 'insideEndTop',
                  },
                  lineStyle: {
                    color: '#00C078',
                  },
                },
              ],
            },
          },
        ],
      };

      myChart.setOption(option);
    },

    initLineChart3() {
      let myChart = echarts.init(this.$refs.line_chart3);
      let intervalNum = 2;
      let dataArray = [
        [0, 400],
        [2, 500],
        [4, 800],
        [5, 1200],
        [7, 400],
        [8, 500],
        [10, 400],
        [12, 500],
      ];
      let option = {
        title: {
          text: '折线图2',
        },
        tooltip: {
          show: true,
          trigger: 'axis',
          axisPointer: {
            type: 'cross',
          },
          formatter: '{c}',
        },
        xAxis: {
          type: 'value',
          axisTick: {
            // 文字对准刻度
            alignWithLabel: true,
            color: '#C1C7D0',
          },
          minInterval: intervalNum,
          maxssInterval: intervalNum,
        },
        yAxis: {
          type: 'value',
          //网格线
          splitLine: {
            lineStyle: {
              type: 'dashed', //设置网格线类型 dotted:虚线 solid:实线
            },
          },
        },
        series: [
          {
            type: 'line',
            smooth: true,
            symbolSize: 6,
            symbol: 'circle',
            data: dataArray,
            color: '#FFC310',
            //区域填充样式
            areaStyle: {
              //线性渐变,前4个参数分别是x0,y0,x2,y2(范围0~1);相当于图形包围盒中的百分比。如果最后一个参数是‘true’,则该四个值是绝对像素位置。
              color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
                {
                  offset: 0,
                  color: 'rgba(246,198,56, 0.6)',
                },
                {
                  offset: 1,
                  color: 'rgba(246,198,56, 0)',
                },
              ]),
            },
            markLine: {
              silent: true,
              symbol: ['none', 'none'],
              lineStyle: {
                color: '#FFC310',
                type: 'dashed',
                dashOffset: 1,
                width: 1,
                opacity: 0.6,
              },
              data: [
                {
                  name: 'x轴标记线',
                  xAxis: 7.2,
                  label: {
                    formatter: '{b}:{c}',
                  },
                  lineStyle: {
                    color: '#0050FF',
                  },
                },
                {
                  name: 'y轴标记线',
                  yAxis: 800,
                  label: {
                    formatter: '{b}:{c}',
                    position: 'insideEndTop',
                  },
                  lineStyle: {
                    color: '#00C078',
                  },
                },
              ],
            },
          },
        ],
      };
      myChart.setOption(option);
    },

    initLineChart4() {
      let myChart = echarts.init(this.$refs.line_chart4);
      let option = {
        title: {
          text: '折线图3',
        },
        tooltip: {
          trigger: 'axis',
          valueFormatter: value => value + '个',
        },
        legend: {
          data: ['Email', 'Union Ads', 'Video Ads', 'Direct', 'Search Engine'],
        },
        grid: {
          left: '3%',
          right: '4%',
          bottom: '3%',
          containLabel: true,
        },
        toolbox: {
          feature: {
            saveAsImage: {},
          },
        },
        xAxis: {
          type: 'category',
          boundaryGap: false,
          data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
        },
        yAxis: {
          type: 'value',
        },
        series: [
          {
            name: 'Email',
            type: 'line',
            stack: 'Total',
            data: [120, 132, 101, 134, 90, 230, 210],
          },
          {
            name: 'Union Ads',
            type: 'line',
            stack: 'Total',
            data: [220, 182, 191, 234, 290, 330, 310],
          },
          {
            name: 'Video Ads',
            type: 'line',
            stack: 'Total',
            data: [150, 232, 201, 154, 190, 330, 410],
          },
          {
            name: 'Direct',
            type: 'line',
            stack: 'Total',
            data: [320, 332, 301, 334, 390, 330, 320],
          },
          {
            name: 'Search Engine',
            type: 'line',
            stack: 'Total',
            data: [820, 932, 901, 934, 1290, 1330, 1320],
          },
        ],
      };
      myChart.setOption(option);
    },
  },
  mounted() {
    this.initLineChart1();
    this.initLineChart2();
    this.initLineChart3();
    this.initLineChart4();
  },
};
</script>
<style style="less" scoped></style>

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

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

相关文章

使用postman时,报错SSL Error: Unable to verify the first certificate

开发中使用postman调用接口&#xff0c;出现以下问题&#xff0c;在确认路径、参数、请求方式均为正确的情况下 解决方法 File - Settings -> SSL certification verification 关闭 找到图中配置&#xff0c;这里默认是打开状态&#xff0c;把它关闭即可&#xff1a;ON …

智能化制造与工业自动化:发展历程、问题与解决、未来趋势及全球应用

导言 智能化制造与工业自动化正成为全球制造业的主要趋势。本文将深入研究其发展历程、遇到的问题及解决过程、未来的可用范围&#xff0c;以及在各国的应用和未来的研究趋势。同时&#xff0c;将讨论在哪些方面能够取得胜利&#xff0c;并在哪些方面发力&#xff0c;实现自身价…

JavaWeb笔记之前端开发HTML

一、引言 1.1HTML概念 网页&#xff0c;是网站中的一个页面&#xff0c;通常是网页是构成网站的基本元素&#xff0c;是承载各种网站应用的平台。通俗的说&#xff0c;网站就是由网页组成的。通常我们看到的网页都是以htm或html后缀结尾的文件&#xff0c;俗称 HTML文件。 …

Docker 网络模式 -day05

docker 启动时候还会有&#xff0c;名为docker0的虚拟网桥&#xff0c;注意网址为 127.0.0.1 [rootiZuf6hxabqikytnrumsi4gZ ~]# ifconfig docker0: flags4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500inet 172.17.0.1 netmask 255.255.0.0 broadcast 172.17.255.2…

ChatGPT如何计算token数?

GPT 不是适用于某一门语言的大型语言模型&#xff0c;它适用于几乎所有流行的自然语言。所以 GPT 的 token 需要 兼容 几乎人类的所有自然语言&#xff0c;那意味着 GPT 有一个非常全的 token 词汇表&#xff0c;它能表达出所有人类的自然语言。如何实现这个目的呢&#xff1f;…

RK3568平台开发系列讲解(Linux系统篇)GPIO接口介绍

🚀返回专栏总目录 文章目录 一、GPIO 子系统接口二、GPIO描述符相关结构体沉淀、分享、成长,让自己和他人都能有所收获!😄 📢在目前的 Linux 内核主线中,GPIO(通用输入/输出)子系统存在两个版本,这里将两个版本区分为新版本和旧版本。新版本 GPIO 子系统接口是基于…

【项目管理】redmine

Redmine是用Ruby开发的基于web的项目管理软件&#xff0c;是用ROR框架开发的一套跨平台项目管理系统&#xff0c;据说是源于Basecamp的ror版而来&#xff0c;支持多种数据库&#xff0c;有不少自己独特的功能&#xff0c;例如提供wiki、新闻台等&#xff0c;还可以集成其他版本…

nodejs微信小程序+python+PHP购物商城网站-计算机毕业设计推荐

目 录 摘 要 I ABSTRACT II 目 录 II 第1章 绪论 1 1.1背景及意义 1 1.2 国内外研究概况 1 1.3 研究的内容 1 第2章 相关技术 3 2.1 nodejs简介 4 2.2 express框架介绍 6 2.4 MySQL数据库 4 第3章 系统分析 5 3.1 需求分析 5 3.2 系统可行性分析 5 3.2.1技术可行性&#xff1a;…

防反接电路与MOS管防反接深入解析

一、经典防反接电路 1、二极管防反接 这种电路使用一个二极管将电源的正极与负极相连&#xff0c;当电源的极性正确时&#xff0c;二极管处于正向导通状态&#xff0c;电流可以正常流过&#xff1b;而当电源的极性反接时&#xff0c;二极管处于反向截止状态&#xff0c;电流无…

函数(C++)

1.7 函数1.7.1 函数缺省参数1.7.2 哑元1.7.3 引用参数1.7.4 返回引用1.7.5 函数重载 1.7 函数 1.7.1 函数缺省参数 在C中&#xff0c;函数的形参列表中的形参是可以有默认值的。有默认值的参数即为默认参数。 在函数调用时&#xff0c;有默认参数可以缺省。 语法&#xff1…

关于Python里xlwings库对Excel表格的操作(十五)

这篇小笔记主要记录如何【获取单元格数据的对齐方式或更改单元格数据的对齐方式】。 前面的小笔记已整理成目录&#xff0c;可点链接去目录寻找所需更方便。 【目录部分内容如下】【点击此处可进入目录】 &#xff08;1&#xff09;如何安装导入xlwings库&#xff1b; &#xf…

你想改win11系统中窗口、菜单等的字体? 微软不想让你改

如果你感觉win11系统中显示的字体不好看&#xff0c;想换。等一等&#xff0c;微软本不想让你改。 Windows 11 在默认情况下并没有提供直接修改系统默认字体的选项&#xff0c;而需要进行注册表或其他高级设置来更改系统字体。这可能是因为微软希望保持系统的一致性和稳定性&a…

Apache Flink(十七):Flink On Standalone任务提交-Standalone Application模式

🏡 个人主页:IT贫道_大数据OLAP体系技术栈,Apache Doris,Clickhouse 技术-CSDN博客 🚩 私聊博主:加入大数据技术讨论群聊,获取更多大数据资料。 🔔 博主个人B栈地址:豹哥教你大数据的个人空间-豹哥教你大数据个人主页-哔哩哔哩视频 目录

【SQLite】SQLite数据库简单使用与Navicat安装-加密

Sqlite为免安装数据库&#xff0c;安装步骤总结&#xff1a; 官网下载Sqlit数据库&#xff0c;官网下载地址:https://www.sqlite.org/download.html 下载: sqlite-dll-win64-x64-3390400.zip或者32位sqlite-dll-win32 sqlite-tools-win-x64-3440200.zip或者32位sqlite-tools-wi…

idea 如何使用 JaCoCo 跑覆盖率

背景介绍 什么代码覆盖&#xff1f; 代码覆盖(Code coverage)是软件测试中的一种度量&#xff0c;描述程序中源代码被测试的比例和程度&#xff0c;所得比例称为代码覆盖率。简单来理解&#xff0c;就是单元测试中代码执行量与代码总量之间的比率。 Java常用的单元测试覆盖率…

微软 Visual Studio 迎来 AI 建议命名功能

目录 1微软 Visual Studio 迎来 AI 建议命名功能 2专访核桃编程CEO曾鹏轩&#xff1a;实操是掌握编程技能的唯一办法 1微软 Visual Studio 迎来 AI 建议命名功能 IT之家 12 月 19 日消息&#xff0c;使用付费 GitHub Copilot Chat 扩展的 Visual Studio Preview 用户&#xf…

Vue 2.5 入门学习记录

Vue 2.5 入门学习记录 1. 基础知识Vue 是什么Vue引入方式Vue特点Vue实例中的数据事件方法Vue中的属性绑定和双向绑定Vue中的v-if、v-show、v-fortoDoList制作局部组件&全局组件 2. vue-cli工程3. 工程案例实践使用vue-cli实现todoList及删除某个元素全局样式与局部样式 4. …

【K8s】#1使用kuboard-spray安装K8s集群

文章目录 搭建k8s集群1.推荐配置1.1.服务器配置1.2.软件版本 2.使用Kuboard-Spray安装k8s集群2.1.配置要求2.2.操作系统兼容性2.3.安装 Kuboard-Spray2.4.加载离线资源包2.5.规划并安装集群2.6.安装成功2.7.访问集群 3.涉及的命令3.1.linux 4.问题汇总Q1&#xff1a;启动离线集…

AI创作系统ChatGPT商业运营网站系统源码,支持AI绘画,GPT语音对话+DALL-E3文生图

一、前言 SparkAi创作系统是基于ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统&#xff0c;支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美&#xff0c;可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如何搭建部署AI创作Ch…

2023 英特尔On技术创新大会直播 |AI小模型更有性价比

前言&#xff1a; 今年是引爆AI的一年&#xff0c;从幼儿园的小朋友到80岁的老奶奶都认识AI&#xff0c;享受AI带来的便捷&#xff0c;都在向市场要智能&#xff0c;但AI的快速发展离不开底层硬件设施的革新。 英特尔是全球知名的半导体公司&#xff0c;专注于计算机处理器和芯…