vue-echarts---折线图 (直接cv就行,全注释)

news2024/12/23 19:10:34

 1、效果展示

 2、完整代码,直接cv即可跑起来

<template>
  <div id="mainend"></div>
</template>

<script>
import * as echarts from 'echarts';
export default {
  name: 'LineChart',
  mounted() {
      this.initChart();
      this.registerUser();
  },
  beforeDestroy() {
      if (this.chart) {
          this.chart.dispose();
      }
  },
  methods: {
      // 初始化图表
      initChart() {
          const chartDom = document.getElementById('mainend');
          this.chart = echarts.init(chartDom);

          const option = {
              legend: {
                  data: ['入住人数', '退住人数'],
                  textStyle: {
                      fontSize: 12, // 图例字体大小
                      color: '#FFFFFF' // 图例字体颜色
                  },
                  icon: "rect", // 图例标记的图形
                  right: '100px', // 水平居中
                  top: 'top', // 放置在顶部
                  itemWidth: 17, // 图例标记的宽度
                  itemHeight: 17 // 图例标记的高度,形成小正方形
              },
              tooltip: {
                  trigger: 'axis',
                  axisPointer: {
                      type: 'line', // 可以是 'line'(直线)、'shadow'(阴影)、'cross'(交叉线)
                      crossStyle: {
                          color: '#fff', // 交叉线的颜色
                          width: 2, // 交叉线的宽度
                          type: 'solid' // 交叉线的类型,设置为实线
                      },
                      lineStyle: {
                          color: '#FFFFFF', // 交叉线的颜色
                          width: 2, // 交叉线的宽度
                          type: 'solid' // 交叉线的类型,设置为实线
                      }
                  }
              },
              xAxis: {
                  type: 'category',
                  boundaryGap: false,
                  name: '月份',
                  nameLocation: 'end',
                  nameTextStyle: {
                      padding: [0, 0, 0, 20], // 调整位置
                      fontSize: 14,
                      color: '#03DEFF' // 坐标轴颜色
                  },
                  data: [
                      '1月', '2月', '3月', '4月', '5月', '6月',
                      '7月', '8月', '9月', '10月', '11月', '12月'
                  ],
                  axisLine: {
                      show: true,
                      symbol: ['none', 'rect'], // 表示X轴起始位子设置为块装
                      symbolSize: [1, 50] // 表示延伸位置宽度为 1px ,延伸长度为100px
                  },
                  splitLine: {
                      show: true,
                      lineStyle: {
                          color: '#2D3C5C', // 网格线颜色
                          type: 'solid' // 网格线类型,如 'solid', 'dashed', 'dotted'
                      }
                  },
                  axisLabel: {
                      color: '#FFFFFF', // X轴文字颜色
                      fontSize: 12 // X轴文字字体大小
                  }
              },
              yAxis: {
                  type: 'value',
                  min: 0,
                  name: '人数',
                  nameLocation: 'end',
                  nameTextStyle: {
                      padding: [0, 0, 25, 0], // 调整位置
                      fontSize: 14,
                      color: '#03DEFF' // 坐标轴颜色
                  },
                  axisLine: {
                      show: true,
                      symbol: ['none', 'rect'], // 表示Y轴起始位子设置为块装
                      symbolSize: [1, 50] // 表示延伸位置宽度为 1px ,延伸长度为100px
                  },
                  axisLabel: {
                      color: '#FFFFFF', // Y轴文字颜色
                      fontSize: 12 // Y轴文字字体大小
                  },
                  // max: 30,
                  splitLine: {
                      show: true,
                      lineStyle: {
                          color: '#2D3C5C', // 网格线颜色
                          type: 'solid' // 网格线类型,如 'solid', 'dashed', 'dotted'
                      }
                  }
              },
              series: [
                  {
                      name: '入住人数',
                      data: [10, 10, 13, 16, 10, 15, 26, 10, 25, 10, 10, 10],
                      type: 'line',
                      symbolSize: 10, // 调整节点的大小
                      areaStyle: {
                          color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
                              { offset: 0, color: '#317AFF' },
                              { offset: 1, color: 'transparent' }
                          ])
                      },
                      itemStyle: {
                          color: '#1F68E2',
                          shadowBlur: 10,
                          shadowColor: '#6CECFF'
                      },
                      lineStyle: {
                          color: '#317AFF'
                      }
                  },
                  {
                      name: '退住人数',
                      data: [10, 10, 13, 16, 10, 15, 26, 10, 25, 10, 10, 10],
                      symbolSize: 10,
                      type: 'line',
                      areaStyle: {
                          color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
                              { offset: 0, color: '#37DACE' },
                              { offset: 1, color: 'transparent' }
                          ])
                      },
                      itemStyle: {
                          color: '#37DACE',
                          shadowBlur: 10,
                          shadowColor: '#37DACE'
                      },
                      lineStyle: {
                          color: '#37DACE'
                      }
                  }
              ]
          };

          this.chart.setOption(option);
      },
      // 更新图表数据
      updateChart(inValues, outValues) {
          this.chart.setOption({
              series: [
                  {
                      name: '入住人数',
                      data: inValues // 将后端数据更新到图表上
                  },
                  {
                      name: '退住人数',
                      data: outValues // 将后端数据更新到图表上
                  }
              ]
          });
      }
  }
};
</script>

<style scoped>
#mainend {
  width: 920px;
  height: 420px;
}
</style>
复制以上代码就能直接运行起来

 3、这个就是右上角的图例设置

legend: {
    data: ['入住人数', '退住人数'], // 图例中显示的系列名称
    textStyle: {
        fontSize: 12, // 图例文本的字体大小
        color: '#FFFFFF' // 图例文本的颜色
    },
    icon: "rect", // 图例标记的图形类型,这里是小矩形('rect'),其他类型还有 'circle'、'roundRect'、'triangle'、'diamond' 等
    right: '100px', // 图例的水平位置,离右边的距离
    top: 'top', // 图例的垂直位置,放置在图表顶部
    itemWidth: 17, // 图例标记的宽度
    itemHeight: 17 // 图例标记的高度,形成小正方形
}

4、这个就是提示框就是鼠标移动上去的时候显示竖线的设置 

tooltip: {
    trigger: 'axis', // 提示框的触发类型,这里设置为 'axis',表示当鼠标悬停在坐标轴上的某一点时,显示对应的提示框
    axisPointer: {
        type: 'line', // 指示器的类型,可以是 'line'(直线)、'shadow'(阴影)、'cross'(交叉线)
        crossStyle: {
            color: '#fff', // 交叉线的颜色
            width: 2, // 交叉线的宽度
            type: 'solid' // 交叉线的类型,设置为实线
        },
        lineStyle: {
            color: '#FFFFFF', // 直线的颜色
            width: 2, // 直线的宽度
            type: 'solid' // 直线的类型,设置为实线
        }
    }
}

5、这个就是x轴的操作

xAxis: {
    type: 'category', // X 轴的类型,这里设置为 'category',表示 X 轴是类目轴
    boundaryGap: false, // 类目轴的两边是否留白,设置为 false 表示不留白
    name: '月份', // X 轴的名称
    nameLocation: 'end', // X 轴名称的位置,这里设置为 'end',表示在轴的末尾
    nameTextStyle: {
        padding: [0, 0, 0, 20], // X 轴名称的内边距,分别为 [上, 右, 下, 左]
        fontSize: 14, // X 轴名称的字体大小
        color: '#03DEFF' // X 轴名称的字体颜色
    },
    data: [
        '1月', '2月', '3月', '4月', '5月', '6月',
        '7月', '8月', '9月', '10月', '11月', '12月'
    ], // X 轴的类目数据
    axisLine: {
        show: true, // 是否显示 X 轴轴线
        symbol: ['none', 'rect'], // 轴线两端的标记,这里表示 X 轴的起始位置没有标记,结束位置有一个矩形标记
        symbolSize: [1, 50] // 轴线标记的大小,[宽度, 高度],这里表示标记的宽度为 1px,高度为 50px
    },
    splitLine: {
        show: true, // 是否显示网格线
        lineStyle: {
            color: '#2D3C5C', // 网格线的颜色
            type: 'solid' // 网格线的类型,这里设置为 'solid',表示实线
        }
    },
    axisLabel: {
        color: '#FFFFFF', // X 轴刻度标签的文字颜色
        fontSize: 12 // X 轴刻度标签的字体大小
    }
}

注意:boundaryGap的意思是获取的点是否从y轴上开始,symbol延长线,

6、y轴的操作 

yAxis: {
    type: 'value', // Y 轴的类型,这里设置为 'value',表示 Y 轴是数值轴
    min: 0, // Y 轴的最小值
    name: '人数', // Y 轴的名称
    nameLocation: 'end', // Y 轴名称的位置,这里设置为 'end',表示在轴的末尾
    nameTextStyle: {
        padding: [0, 0, 25, 0], // Y 轴名称的内边距,分别为 [上, 右, 下, 左]
        fontSize: 14, // Y 轴名称的字体大小
        color: '#03DEFF' // Y 轴名称的字体颜色
    },
    axisLine: {
        show: true, // 是否显示 Y 轴轴线
        symbol: ['none', 'rect'], // 轴线两端的标记,这里表示 Y 轴的起始位置没有标记,结束位置有一个矩形标记
        symbolSize: [1, 50] // 轴线标记的大小,[宽度, 高度],这里表示标记的宽度为 1px,高度为 50px
    },
    axisLabel: {
        color: '#FFFFFF', // Y 轴刻度标签的文字颜色
        fontSize: 12 // Y 轴刻度标签的字体大小
    },
    splitLine: {
        show: true, // 是否显示网格线
        lineStyle: {
            color: '#2D3C5C', // 网格线的颜色
            type: 'solid' // 网格线的类型,这里设置为 'solid',表示实线
        }
    }
}

7、 数据的操作

series: [
    {
        name: '入住人数',
        data: [10, 10, 13, 16, 10, 15, 26, 10, 25, 10, 10, 10], // 系列的数据
        type: 'line', // 系列的图表类型,这里设置为折线图
        symbolSize: 10, // 数据点的大小
        areaStyle: {
            color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
                { offset: 0, color: '#317AFF' }, // 渐变色开始颜色
                { offset: 1, color: 'transparent' } // 渐变色结束颜色
            ])
        },
        itemStyle: {
            color: '#1F68E2', // 数据点的颜色
            shadowBlur: 10, // 数据点的阴影模糊程度
            shadowColor: '#6CECFF' // 数据点的阴影颜色
        },
        lineStyle: {
            color: '#317AFF' // 折线的颜色
        }
    },
    {
        name: '退住人数',
        data: [10, 10, 13, 16, 10, 15, 26, 10, 25, 10, 10, 10], // 系列的数据
        symbolSize: 10, // 数据点的大小
        type: 'line', // 系列的图表类型,这里设置为折线图
        areaStyle: {
            color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
                { offset: 0, color: '#37DACE' }, // 渐变色开始颜色
                { offset: 1, color: 'transparent' } // 渐变色结束颜色
            ])
        },
        itemStyle: {
            color: '#37DACE', // 数据点的颜色
            shadowBlur: 10, // 数据点的阴影模糊程度
            shadowColor: '#37DACE' // 数据点的阴影颜色
        },
        lineStyle: {
            color: '#37DACE' // 折线的颜色
        }
    }
]

注意:lineStyle折现的颜色,areaStyle区域底下阴影的渐变色,symbolSize数据点也就是每个拐点的大小

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

NXP i.MX8系列平台开发讲解 - 4.1.1 GNSS篇(一) - 定位基础知识

专栏文章目录传送门&#xff1a;返回专栏目录 Hi, 我是你们的老朋友&#xff0c;主要专注于嵌入式软件开发&#xff0c;有兴趣不要忘记点击关注【码思途远】 文章目录 目录 专用名词&#xff1a; 1. GNSS 概述 1.2 四大GNSS 概述 1.2.1 GPS 1.2.2 BeiDou 1.2.3 GLONASS…

vue3 antdv3 将vxe-grid的头二行改为一行,解决最后一列不能自动根据屏幕的宽度自动缩放的问题。

1、先上个图&#xff1a; 官方地址&#xff1a; Vxe Table v4.6 header搞了二层&#xff0c;然后反馈过来&#xff0c;让调整&#xff1a; {title: 通讯地址,width: 200,showOverflow: tooltip,align: center,sortable: true,filters: companyOptions,filterRender: { name:…

国内首个支持国产化信创的开源云原生平台

国产化信创是指中国本土信息技术和创新产业的发展和推广。随着各种形势的复杂变化&#xff0c;推动国产化和信创已成为信息产业发展的重要方向。在这一背景下&#xff0c;国内的技术企业和开发者们纷纷投入到开源国产化和自主创新的浪潮中&#xff0c;力图摆脱对国外技术和服务…

谷歌开源Gemma-2 百亿参数大模型,性能超越Llama-3模型,免费使用

Gemma 模型 Gemma模型是谷歌发布的一个开源模型&#xff0c;任何人都可以免费下载预训练模型&#xff0c;进行使用。而谷歌最近也发布了Gemma 2 模型&#xff0c;模型参数超过了 200 亿大官&#xff0c;果真大模型最后都是拼参数的时候吗。 Gemma 2 模型发布 Gemma 2 模型可以…

【Linux系统编程】进程间的通信——管道通信

目录 前言&#xff1a; 一&#xff0c;管道的认识 二&#xff0c;管道的深入了解 2-1&#xff0c;管道的特点 2-2&#xff0c;深入学习管道 2-3&#xff0c;管道的特殊情况 三&#xff0c;匿名管道 四&#xff0c;Ubuntu系统和VSCode的使用 4-1&#xff0c;Ubuntu和VSC…

【ARM+Codesys 客户案例 】 基于RK3568/A40i/STM32+CODESYS在智能制造中的应用案例:全自动切片机器人

蔬菜是人们日常生活必不可缺的食品&#xff0c;并且食用方法多种多样。自步入小康社会以来&#xff0c;人们的生活节奏越来越快&#xff0c;很多传统服务已不能满足人们的物质需求和生活节奏。日常生活中通过手工快速切菜严重地威胁着人身安全&#xff0c;切菜时间过长或切菜不…

异常信息转储笔记-获取源码行号

前情 上一篇笔记《异常信息转储预研笔记-堆栈地址转换》留下了两个待解决问题&#xff08;如下图&#xff09;&#xff0c;问题1已在《异常信息转储笔记-demangle函数名字符》中解决&#xff0c;剩下问题2输出源码行号的问题还未能解决。 之前使用dladdr并未能将堆栈地址转换…

CourseGPT彻底改变本科学习

文章介绍了CourseGPT这一生成式AI工具&#xff0c;它基于Mistral AI的大型语言模型&#xff0c;旨在通过提供持续的教师支持和定期更新的课程材料来提升本科生的学习体验。CourseGPT能够利用课程特定的内容为学生提供精确和动态生成的回答&#xff0c;并且教师可以控制这些回答…

收藏:U盘加密软件哪个好用,防止U盘防复制软件

“物以稀为贵&#xff0c;藏之深则安。” 在信息时代的洪流中&#xff0c;数据之珍贵&#xff0c;无异于古时之金玉珠宝&#xff0c;而保护这些数据的安全&#xff0c;则成为了现代人心中的一道重要防线。 U盘&#xff0c;这小巧便携的数据存储工具&#xff0c;虽不及古时铜匣…

Jenkins-更新

文章目录 前言一、下载最新的war包二、安装最新的war包&#xff08;一&#xff09;查询Jenkins.war目录命令&#xff08;二&#xff09;切换到Jenkins.war的安装目录&#xff08;三&#xff09;上传最新Jenkins.war包 总结 前言 当我们在CentOS8 系统成功安装上Jenkins服务后&…

数据结构(6.2_1)——领接矩阵法

图的存储——邻接矩阵法 邻接矩阵&#xff08;Adjacency Matrix&#xff09;是一种使用二维数组来表示图的方法。在这种表示法中&#xff0c;矩阵的行和列都对应图的顶点。 特点 对于无向图&#xff0c;如果顶点i与顶点j之间有边&#xff0c;则矩阵的第i行第j列&#xff08;…

pytorch实现单层线性回归模型

文章目录 简述代码重构要点 数学模型、运行结果数据构建与分批模型封装运行测试 简述 python使用 数值微分法 求梯度&#xff0c;实现单层线性回归-CSDN博客 python使用 计算图&#xff08;forward与backward&#xff09; 求梯度&#xff0c;实现单层线性回归-CSDN博客 数值微分…

会议中控系统有多少种编程方法

会议中控系统的编程方法并不局限于某一种固定的方式&#xff0c;而是根据系统的具体需求、开发团队的技能以及所选用的编程语言和技术栈等多种因素来决定的。以下是一些常见的会议中控系统编程方法和考虑因素&#xff1a; 1. 编程语言选择 会议中控系统的开发通常会选择以下几…

Kubernetes拉取阿里云的私人镜像

前提条件 登录到阿里云控制台 拥有阿里云的ACR服务 创建一个命名空间 获取仓库的访问凭证&#xff08;可以设置固定密码&#xff09; 例如 sudo docker login --usernameyourAliyunAccount registry.cn-guangzhou.aliyuncs.com 在K8s集群中创建一个secret 使用kubectl命令行…

qt生成一幅纯马赛克图像

由于项目需要&#xff0c;需生成一幅纯马赛克的图像作为背景&#xff0c;经过多次测试成功&#xff0c;记录下来。 方法一&#xff1a;未优化方法 1、代码&#xff1a; #include <QImage> #include <QDebug> #include <QElapsedTimer>QImage generateMosa…

AI跟踪报道第52期-新加坡内哥谈技术-本周AI新闻: X推出的惊人逼真的但不受约束的图像生成器和 GooglePixel 9

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

PostgreSQL-02-入门篇-查询数据

文章目录 1 简单查询SELECT 语句简介SELECT 语句语法SELECT 示例1) 使用 SELECT 语句查询一列数据的示例2) 使用 SELECT 语句查询多列数据的示例3) 使用 SELECT 语句查询表所有列数据的示例4) 使用带有表达式的 SELECT 语句的示例5) 使用带有表达式的 SELECT 语句的示例 2 列别…

大公报发表欧科云链署名文章:发行港元稳定币,建Web3.0新生态

欧科云链研究院资深研究员蒋照生近日与香港科技大学副校长兼香港Web3.0协会首席科学顾问汪扬、零壹智库创始人兼CEO柏亮&#xff0c;在大公报发布联合署名文章 ——《Web3.0洞察 / 发行港元稳定币&#xff0c;建Web3.0新生态》&#xff0c;引发市场广泛讨论。 文章就香港稳定币…

江科大/江协科技 STM32学习笔记P24

文章目录 DMA数据转运验证存储器映像的内容什么时候需要定义常量 验证外设寄存器的地址理解ADC1->DR main.c初始化DMADMA库函数MyDMA.cmain.c DMAAD多通道AD.cmain.c DMA数据转运 验证存储器映像的内容 #include "stm32f10x.h" // Device heade…

视频号分销系统搭建教程,源代码+部署上线指南

目录 一、视频号分销是什么&#xff1f; 二、视频号分销系统怎么搭建&#xff1f; 1.系统架构设计 2.部署与上线 3.持续迭代与升级 三、部分代码展示 一、视频号分销是什么&#xff1f; 视频号分销系统是合集了视频号商家的产品&#xff0c;推广达人推广商家的产品可赚取…