首页 > 其他分享 >echarts 曲线图组件

echarts 曲线图组件

时间:2023-06-05 18:55:13浏览次数:40  
标签:颜色 曲线图 color data 拐点 offset 组件 type echarts

样式如图

使用:          <echartLine             ref="day30Echat"             :xAxis="timeList"             :xlist="xlist30Day"             :xlist2="xlist230Day"             :smooth="true"           ></echartLine>   js方法:   get30(area) {       let json = {         carType: this.carType, //大分类         owningLocationStr: area //小区域       };       leadCockpitApi(json).then(res => {         if (res.data.code == 200) {           this.xlist30Day = res.data.data.outIntegerList;           this.xlist230Day = res.data.data.inIntegerList;           this.$nextTick(() => {             this.$refs.day30Echat.getData();           });         }       });     },  

 

代码如下:

<!--
 * @Description:领导驾驶舱-新版-曲线折现图组件
 * @Author: 
 * @LastEditTime: 2023-02-21 17:38:01
-->
<template>
  <div class="echarts" id="echat" ref="echat"></div>
</template>

<script>
export default {
  name: 'titleBar',
  components: {},
  props: {
    xAxis: {
      type: Array //x轴刻度
    },
    xlist: {
      type: Array //线1数值
    },
    xlist2: {
      type: Array //线2数值
    },
    smooth: {
      type: Boolean //曲线折线
    }
  },
  data() {
    return {};
  },
  methods: {
    getData() {
      setTimeout(_ => {
        let myChart = this.$echarts.init(this.$refs.echat);
        myChart.resize();
        myChart.setOption({
          grid: {
            left: '10',
            top: '20',
            right: '0',
            bottom: '26',
            containLabel: true
          },
          xAxis: {
            type: 'category',
            axisLine: {
              // 改变x轴颜色
              lineStyle: {
                color: '#091024',
                width: 1
              }
            },
            //坐标轴刻度设置
            axisTick: {
              //隐藏刻度线
              show: false,
              //设置刻度线与标签对齐
              alignWithLabel: true
            },
            axisLabel: {
              color: '#899DBF'
            },
            data: this.xAxis
          },
          yAxis: {
            type: 'value',
            splitLine: {
              //修改背景线条样式
              show: true, //是否展示
              lineStyle: {
                color: 'rgba(55, 66, 88, 0.54)', //线条颜色
                type: 'dashed' //线条样式,默认是实现,dashed是虚线
              }
            },
            axisLabel: {
              color: '#899DBF'
            }
          },
          //线条相关
          series: [
            {
              name: '进入',
              data: this.xlist2,
              //线条颜色
              lineStyle: {
                color: '#16E5CC',
                width: 1.5
              },
              type: 'line', //平滑效果
              color: ['#16E5CC'],
              smooth: this.smooth,
              //拐点样式
              itemStyle: {
                color: {
                  type: 'linear',
                  x: 0, //右
                  y: 0, //下
                  x2: 0, //左
                  y2: 1, //上
                  colorStops: [
                    {
                      offset: 0,
                      color: '#28C6DB' // 0% 处的颜色
                    },
                    {
                      offset: 1,
                      color: '#0EFFCF' // 100% 处的颜色
                    }
                  ]
                }
              },
              emphasis: {
                color: '#030714', // 圆心内颜色
                borderColor: '#16E5CC', // 点边线的颜色
                borderWidth: 2 //  拐点边框宽度
              },
              symbolSize: 1,
              symbol: 'circle', //圆 不写默认空心
              areaStyle: {
                color: new this.$echarts.graphic.LinearGradient(0, 0, 0, 1, [
                  {
                    offset: 0,
                    color: '#16E5CC'
                  },
                  {
                    offset: 1,
                    color: 'transparent'
                  }
                ])
              }
            },
            {
              name: '出区',
              data: this.xlist,
              //线条颜色
              lineStyle: {
                color: '#EDB51D',
                width: 1.5
              },
              type: 'line', //平滑效果
              color: ['#EDB51D'],
              smooth: this.smooth,
              //拐点样式
              itemStyle: {
                color: {
                  type: 'linear',
                  x: 0, //右
                  y: 0, //下
                  x2: 0, //左
                  y2: 1, //上
                  colorStops: [
                    {
                      offset: 0,
                      color: '#EDB51D' // 0% 处的颜色
                    },
                    {
                      offset: 1,
                      color: '#FFE7A8' // 100% 处的颜色
                    }
                  ]
                }
              },
              emphasis: {
                //突出效果配置(鼠标置于拐点上时)
                color: '#030714', //hover拐点颜色定义
                borderColor: '#EDB51D', //  拐点边框颜色
                borderWidth: 2 //  拐点边框宽度
              },
              // itemStyle: {
              //   emphasis: {
              //     //突出效果配置(鼠标置于拐点上时)
              //     color: '#030714', //hover拐点颜色定义
              //     borderColor: '#EDB51D', //  拐点边框颜色
              //     borderWidth: 2 //  拐点边框宽度
              //   }
              // },
              symbolSize: 1,
              symbol: 'circle',
              areaStyle: {
                color: new this.$echarts.graphic.LinearGradient(0, 0, 0, 1, [
                  {
                    offset: 0,
                    color: '#EDB51D'
                  },
                  {
                    offset: 1,
                    color: 'transparent'
                  }
                ])
              }
            }
          ],
          /* 设置图例样式 */
          legend: {
            x: 'center',
            y: 'bottom',
            icon: 'roundRect', //图例形状
            itemHeight: 10, // 图例icon高度
            itemWidth: 16, // 图例icon宽度
            textStyle: {
              color: '#959FA8'
            },
            itemGap: 30, //图例间距
            data: ['进入', '出区']
          },
          //悬浮框
          tooltip: {
            trigger: 'axis',
            borderColor: 'transparent', //'#4380D1',
            // alwaysShowContent: true, // 是否永远显示提示框内容,默认情况下在移出可触发提示框区域后一定时间后隐藏
            triggerOn: 'mousemove', // 提示框触发的条件
            confine: true, // 是否将 tooltip 框限制在图表的区域内
            backgroundColor: 'transparent', //'#fff', // 提示框浮层的背景颜色
            padding: 0, // 提示框浮层内边距,单位px
            position: 'right',
            textStyle: {
              color: '#fff', // 文字的颜色
              fontWeight: '600'
            },
            formatter: function(params) {
              var htmlStr =
                '<div class="toolStyle" style="height: auto;max-height: 240px;width:135px;"><p>' +
                params[0].axisValue +
                '</p>';
              var color = ['#1EFFC9', '#FFBB3D'];
              for (var i = 0; i < params.length; i++) {
                htmlStr +=
                  '<p style="color: #fff;">' +
                  params[i].seriesName +
                  ': <span style="color:' +
                  color[i] +
                  '">' +
                  params[i].value +
                  '</span></p>';
              }
              htmlStr += '</div>';
              return htmlStr;
            },
            axisPointer: {
              // 坐标轴虚线
              type: 'cross',
              color: 'red',
              label: {
                backgroundColor: '#006CDA'
              }
            }
          }
        });
        window.addEventListener('resize', () => {
          myChart.resize();
        });
      }, 1000);
    }
  }
};
</script>
<style lang="scss" scoped>
.echarts {
  width: 100%;
  height: 100%;
}
</style>

 

标签:颜色,曲线图,color,data,拐点,offset,组件,type,echarts
From: https://www.cnblogs.com/ruyijiang/p/17458714.html

相关文章

  • 【React工作记录八十七】React+antDesign实现上传图片功能(类组件)
    前言大家好我是歌谣今天继续给大家带来工作中实战部分的一些代码的封装和认识需求实现1可以支持上传最多九张图片2图片支持预览替换删除3支持自定义上传文件大小格式未上传提示实现效果子组件封装UploadImage组件*@Description:公共上传图片*@param{Array}type图片......
  • 【React工作记录八十八】React+antDesign封装一个tab组件(类组件)
    前言我是歌谣放弃很容易但是坚持一定很酷喜欢我就一键三连哈微信公众号关注前端小歌谣在我们的工作生活中每次学习一个框架我们就不免要封装组件而具备封装一个完美组件的能力我称之为"优秀"简单的父子组件父组件<Geyao/>子组件importReact,{Component}from'react';......
  • 递归获取省市区的边界信息文件,用于echarts的map地图
    数据来源为阿里云,单个省市区信息可直接在这里面下载:http://datav.aliyun.com/portal/school/atlas/area_selector#&lat=30.332329214580188&lng=106.72278672066881&zoom=3.5由于需求需要点击省份里面的城市就展示新的城市的地图,所以需要把所有省市区的边界信息json全部下载下来......
  • visual studio 2010 c++ 创建com组件
    在VisualStudio2010中创建COM组件需要执行以下步骤:1. 打开VisualStudio2010,选择“新建项目”。2. 在弹出的对话框中选择“VisualC++”-->“Win32”-->“Win32项目”,并选择“DLL”作为应用程序类型。3. 单击“下一步”按钮。在下一个页面上,选择“ATL”,然后单击“完......
  • 系统化学习前端之Vue(vue2 组件通信)
    前言前文vue2基础中聊过,页面本质是DOM树,而在vue2中组件=vm实例对象=DOM。因此,页面其实也是组件树构成,组件之间形成父子关系,兄弟关系等,相互之间通信也是组件树的必须要求。vue2组件通信组件通信即组件之间的数据传递。props和$emit$attrs和$listener$parent......
  • 云原生第六周--k8s组件详解(下)
    一Velero结合minio实现kubernetesetcd数据备份与恢复Velero简介:Velero是vmware开源的一个云原生的灾难恢复和迁移工具,它本身也是开源的,采用Go语言编写,可以安全的备份、恢复和迁移Kubernetes集群资源数据Velero支持标准的K8S集群,既可以是私有云平台也可以是公有云,除了灾备......
  • 关于echarts无法在mounted中渲染的问题
    最初实现:echarts图标被单独作为一个组件引入,通过传入数据来显示。<divclass="echart"><divclass="echarts-cont"><Charts:dataList="list":total="total"></Charts></div>echarts组件代码:exportdefault{name:"......
  • element-ui 组件二次封装
    习题链接element-ui组件二次封装课程列表修复bug,实现elementui组件中的单选功能。关键点作用域插槽(ScopedSlots)在父组件中使用slot-scope="scope"指定了一个名为scope的变量,当然也可以使用其他名称在插槽中就可以使用scope是点父组件中的数据ElementUI组件的Radi......
  • 组件的自定义事件
      专门用来看自定义事件的:  ......
  • Request类源码分析、序列化组件介绍、序列化类的基本使用、常用字段类和参数、反序列
    目录一、Request类源码分析二、序列化组件介绍三、序列化类的基本使用查询所有和查询单条四、常用字段类和参数(了解)常用字段类字段参数(校验数据来用的)五、反序列化之校验六、反序列化之保存七、APIVIew+序列化类+Response写的五个接口代码八、序列化高级用法之source(了解)九、......