echarts 折线组件

news2024/11/26 10:32:46

echarts 折线组件

在这里插入图片描述

<template>
  <div class="lineChartsTemplate" :id="chartsId"></div>
</template>

<script>
export default {
  name: "lineChartsTemplate",
  components: {},
  props: {
    xData: {
      type: Array,
      default: () => [],
    },
    yData: {
      type: Array,
      default: () => [],
    },
    lineColor: {
      type: String,
      default: "#F1924E"
    },
    title: {
      type: String,
      default: "这是标题"
    },
    chartsId: {
      type: String,
      default: ""
    }
  },
  data() {
    return {
      myChart: null
    };
  },
  methods: {
    initLineChartsTemplate() {
      let option = {
        tooltip: {
          trigger: "axis",
          axisPointer: {
            type: "line", // 默认为直线,可选为:'line' | 'shadow'
          },
          borderColor: this.lineColor, // 边框颜色
        }, // 坐标轴指示器配置
        title: {
          text: this.title,
          left: 'center',
          top: "5%",
          textStyle: {
            color: "#000",
            fontSize: 14,
            align: 'center'
          },
        },
        textStyle: {
          color: "#333333", // xy轴的提示文字颜色,不包含背景刻度线
        },
        color: [this.lineColor],
        grid: {
          top: "20%",
          left: "50px",
          right: "20px",
          bottom: "35px",
        },
        xAxis: [
          {
            type: "category",
            data: this.xData,
            axisLine: {
              show: true,
              lineStyle: {
                color: "#333333",
                // width: 0,
                type: "solid",
              }, // x轴线的颜色以及宽度
            },
            // axisLabel: {
            //   show: true,
            //   textStyle: {
            //     color: "rgba(255, 255, 255, 0.3)",
            //   }
            // }, // x轴文字的配置
            splitLine: {
              show: false,
              lineStyle: {}, // 分割线配置
            },
            axisTick: {
              show: false,
            }, // x轴的刻度线
          },
        ],
        yAxis: [
          {
            type: "value",
            splitLine: {
              show: true,
              lineStyle: {
                color: "#333333",
                opacity: 0.1,
              }, // 设置横向的线的颜色
            },
            axisLabel: {
              show: true,
              margin: 20,
              // textStyle: {
              //   color: "rgba(255, 255, 255, 0.3)",
              // }, // y轴的字体配置
            },
          },
        ],
        series: [
          {
            data: this.yData,
            type: "line",
            smooth: true,
          },
        ],
      };
      this.myChart = this.$echarts.init(
        document.getElementById(this.chartsId)
      );
      this.myChart.setOption(option);

      window.addEventListener("resize", () => {
        this.myChart.resize();
      });
    },
  },
  created() {},
  async mounted() {
    await this.initLineChartsTemplate()
  },
  beforeDestroy() {
    if (this.myChart) {
      this.myChart.dispose();
    }
  }
};
</script>

<style lang="scss" scoped>
.lineChartsTemplate {
  width: 100%;
  height: 100%;
}
</style>

父组件中使用

<div class="trendAnalysis-charts" v-if="!isShowTable">
      <div id="myChartBox1" class="charts">
        <lineChartsTemplate ref="lineChartsTemplate"
                            :chartsId="'charts1'"
                            :title="'平均数据'"
                            :lineColor="'#1492FF'"
                            :xData="[1, 2, 3, 4, 5 ,6 , 6,2]"
                            :yData="[12, 3, 23, 2, 1, 35, 21 ,6]"
        />
      </div>

      <div id="myChartBox2" class="charts">
        <lineChartsTemplate ref="lineChartsTemplate"
                            :chartsId="'charts2'"
                            :title="'行程时间'"
                            :xData="[1, 2, 3, 4, 5 ,6 , 6,2]"
                            :yData="[12, 3, 23, 14, 66, 35, 1 ,6]"
        />
      </div>

      <div id="myChartBox3" class="charts">
        <lineChartsTemplate ref="lineChartsTemplate"
                            :chartsId="'charts3'"
                            :title="'TTI(行程时间比)'"
                            :lineColor="'#1492FF'"
                            :xData="[1, 2, 3, 4, 5 ,6 , 6,2]"
                            :yData="[12, 3, 23, 125, 5, 35, 4 ,6]"
        />
      </div>

      <div id="myChartBox4" class="charts">
        <lineChartsTemplate ref="lineChartsTemplate"
                            :chartsId="'charts4'"
                            :title="'拥堵指数'"
                            :xData="[1, 2, 3, 4, 5 ,6 , 6,2]"
                            :yData="[12, 3, 23, 125, 66, 35, 123 ,6]"
        />
      </div>
    </div>


import lineChartsTemplate from './lineChartsTemplate'

  components: {
    lineChartsTemplate
  },
      
      
      // 直接替换 xData yData title chartsId lineColor 即可

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

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

相关文章

个人在运行python代码过程中的坑230928

0关于GPT和百度使用的区别 就我个人使用经验而言&#xff0c;我觉得百度、知乎、csdn更是直接奔着解决问题去的&#xff0c;直接方便快捷&#xff0c;不需要你再对信息进行加工&#xff0c;可以直接找到经验。 GPT则是需要我们给他一个输入&#xff0c;给他一个提示&#xff0…

提高网申通过率的秘籍,校园招聘之春招秋招都有效

提高网申通过率的秘籍&#xff01;校园招聘&#xff08;校招-春招-秋招&#xff09;都有效。 网申&#xff0c;指的是在网上申请招聘企业的岗位&#xff0c;每年春招秋招&#xff0c;都是毕业生们的重点大事&#xff0c;如何把握好机会&#xff0c;就在于各个环节的细节之处&…

联盟 | 彩漩 X HelpLook,AI技术赋能企业效率提升

近日&#xff0c;AI 驱动的 PPT 协作分享平台「 彩漩 」与 AI 知识库搭建工具「 HelpLook」&#xff0c;携手为用户工作流注入更多智能和创造力&#xff0c;全面拥抱 AIGC 时代带来的机遇&#xff0c;致力于提供前沿的智能解决方案。 彩 漩 彩漩是一个以 AI 技术为基础、贯彻 …

排雷Jmeter分布式性能测试,为什么要用分布式?这些易错点特别危险!

01、为什么要使用分布式 做性能测试时&#xff0c;如果被测系统性能比较好&#xff0c;或者系统项目比较大&#xff0c;那么一般都会要求能支持比较高的并发用户数。而我们做性能测试时&#xff0c;发起请求的机器&#xff0c;硬件资源是一定的&#xff0c;不可能配置无限大。…

基于Linux socket聊天室-多线程服务器模型(01)

​前言 socket在实际系统程序开发当中&#xff0c;应用非常广泛&#xff0c;也非常重要。实际应用中服务器经常需要支持多个客户端连接&#xff0c;实现高并发服务器模型显得尤为重要。高并发服务器从简单的循环服务器模型处理少量网络并发请求&#xff0c;演进到解决C10K&…

如何爬取动态加载的图片数据

百度图片是一个非常受欢迎的图片分享平台&#xff0c;其中包含了大量的图片资源。然而&#xff0c;百度图片使用了动态加载技术&#xff0c;使得Python爬虫在获取百度动态加载图片时面临一定的难度。百度图片使用了动态加载技术&#xff0c;这意味着图片并不是一次性全部加载出…

2.安装conda python库

centos 显卡驱动、cuda、cudnn安装参考地址&#xff1a; 1.centos7 安装显卡驱动、cuda、cudnn-CSDN博客 3.Cenots Swin-Transformer-Object-Detection环境配置-CSDN博客 1.安装anaconda 步骤1&#xff1a;下载 下载地址&#xff1a; Index of / 下载版本 步骤2&#xf…

深信服安全GPT 2.0升级,开启安全运营“智能驾驶”旅程

9月22日&#xff0c;深信服对外展示安全GPT落地成果与2.0升级能力。来自各行业权威嘉宾代表&#xff1a;美的集团首席信息安全官&#xff08;CISO&#xff09;兼软件工程院院长、欧洲科学院院士&#xff08;MAE&#xff09;、IEEE Fellow、IET Fellow、ACM杰出科学家、AAIA Fel…

Java集合随笔

这里写自定义目录标题 好文链接常见的方法Collections类Comparator接口HashMap 的长度为什么是 2 的幂次方&#xff1f;讲解链接 Collection部分&#xff1a; Set部分&#xff1a; HashSet&#xff1a;底层数据结构是哈希表&#xff0c;线程不安全&#xff0c;无序&#xff0…

【ArcGIS Pro二次开发】(68):计算面要素的四至点

这个工具的目的是计算面要素的四至点。 四至点并不是要素的MaxX,MaxY,MinX,MinY四个值。如果要计算这四个字&#xff0c;可以直接使用系统自带的【计算几何属性】进行计算&#xff1a; 这里要计算的是要素的最东、西、南、北的四个点坐标。 因此首先要获取这四个点&#xff0c…

vue3 - 基于ts的时间转换处理的time utils

GitHub Demo 地址 在线预览 时间转换处理的工具类 timeUtils.ts // 时间转换工具类const TimeUtils {Jh_getTimeStamp,Jh_timeStampToTime,Jh_convertTimeStamp,Jh_timeStampToYMD,Jh_isToday,Jh_getYearMonth,Jh_getPrevYear,Jh_getNextYear,Jh_getPrevYearMonth,Jh_getNex…

VSCode快速设置heder和main函数

快速设置header: 点击左侧的齿轮&#xff0c;选择User Snippets&#xff1a; 在出现的选择框中输入python&#xff0c;选择python.json 在最外层的{ }内部添加以下内容 "HEADER": {"prefix": "header","body": ["# -*- encoding:…

【运维知识高级篇】超详细的Jenkins教程3(Maven项目上线全流程)

上篇文章给大家介绍了Maven编译的内容&#xff0c;讲解了用Jenkins如何去集成Maven&#xff0c;这篇文章给大家介绍另一个的Maven项目&#xff0c;实现gitlab提交代码后&#xff0c;自动进行Maven编译&#xff0c;自动推送至web主机进行代码上线的效果。 文章目录 一、主机介绍…

【操作系统笔记八】任务调度信号处理CPU上下文

任务调度 何时需要调度执行一个任务&#xff1f; 第一&#xff1a;当任务创建的时候&#xff0c;需要决定是继续执行父进程&#xff0c;还是调度执行子进程 第二&#xff1a;在一个任务退出时&#xff0c;需要做出调度决策&#xff0c;需要从 TASK_RUNNING 状态的所有任务中选…

IDEA 2019 Springboot 3.1.3 运行异常

项目场景&#xff1a; 在IDEA 2019 中集成Springboot 3.1.3 框架&#xff0c;运行异常。 <?xml version"1.0" encoding"UTF-8"?><project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSch…

Linux ❀ 进程出现process information unavailable时的消除方法

[rootmaster ~]# jps 74963 -- process information unavailable 78678 Jps [rootmaster ~]# cd /tmp/hsperfdata_redhat/ # redhat为启动该java进程的用户ps -ef | grep $pid查找 [rootmaster hsperfdata_redhat]# ll total 32 -rw------- 1 redhat redhat 32768 Sep 27 15:…

GaussDB数据库SQL系列-游标管理

目录 一、前言 二、概述&#xff08;GaussDB&#xff09; 1、游标概述 2、游标的使用分类 三、GaussDB中的显式游标&#xff08;示例&#xff09; 1、显式游标的使用与操作步骤 2、显式游标示例 四、GaussDB中的隐式游标&#xff08;示例&#xff09; 1、隐式游标简介…

python+requests接口自动化测试框架实例详解

前段时间由于公司测试方向的转型&#xff0c;由原来的web页面功能测试转变成接口测试&#xff0c;之前大多都是手工进行&#xff0c;利用postman和jmeter进行的接口测试&#xff0c;后来&#xff0c;组内有人讲原先web自动化的测试框架移驾成接口的自动化框架&#xff0c;使用的…

通讯网关软件015——利用CommGate X2MQTT实现MQTT访问Modbus RTU

本文介绍利用CommGate X2MQTT实现MQTT访问Modbus RTU。CommGate X2MQTT是宁波科安网信开发的网关软件&#xff0c;软件可以登录到网信智汇(http://wangxinzhihui.com)下载。 【案例】如下图所示&#xff0c;SCADA系统上位机、PLC、设备具备Modbus RTU通讯接口&#xff0c;现在…

缓存雪崩、缓存击穿、缓存穿透

缓存雪崩 当缓存中大量的键值对同时过期或者Redis宕机了&#xff0c;大量的请求就会直接打到数据库&#xff0c;这种现象就是缓存雪崩 应对策略 有四种&#xff0c;分别是“均匀设置过期时间”、“互斥锁”、“双key策略”、“设置逻辑过期时间&#xff0c;异步更新缓存” …