Echarts柱状图 - 柱形颜色渐变

在这里插入图片描述
在这里插入图片描述

<!-- 违法 -->
<template>
  <div class="section">
    <div class="grid_body_top">
      <div v-for="(item, index) in topList" v-show="item.isShow" :key="index">
        <i :class="['icon', ...item.iconClass]" />
        <span class="text">{{ item.text }}</span>
        <span :class="['count', item.textClass]">{{
          $common.countFormat(infoData[item.key] || 0)
        }}</span>
      </div>
    </div>
    <div id="EchartsDom" />
  </div>
</template>

<script>
export default {
  name: 'Illegal',
  components: {},

  props: {
    select: {
      type: String,
      required: true
    },
    infoData: {
      type: Object,
      required: true
    },
    dataList: {
      type: Array,
      // required: true
      default: () => {
        return [
          { value: 10, name: '测试1', pre: '10' },
          { value: 20, name: '测试2', pre: '10' },
          { value: 5, name: '测试3', pre: '10' },
          { value: 20, name: '到三斯', pre: '10' },
          { value: 14, name: '测试5', pre: '10' },
          { value: 8, name: '测试6', pre: '10' },
          { value: 10, name: '测试7', pre: '10' }
        ]
      }
    }
  },

  data() {
    return {
      Echarts: null
    }
  },

  computed: {
    topList() {
      return [
        {
          text: '执法量',
          key: 'zfzl',
          iconClass: ['iconfont', 'ico-police', 'cyan'],
          textClass: 'white',
          isShow: this.select === 'jycx'
        },
        {
          text: '缴款量',
          key: 'yjksl',
          iconClass: ['iconfont', 'ico-qianbao', 'orange'],
          textClass: 'orange',
          isShow: this.select === 'jycx'
        },
        {
          text: '案件量',
          key: 'zfzl',
          iconClass: ['iconfont', 'ico-case', 'cyan'],
          textClass: 'white',
          isShow: this.select === 'ybcx'
        },
        {
          text: '已裁决',
          key: 'ycjzl',
          iconClass: ['icon_blue'],
          textClass: 'blue',
          isShow: this.select === 'ybcx'
        },
        {
          text: '未裁决',
          key: 'wcjzl',
          iconClass: ['icon_cyan'],
          textClass: 'cyan',
          isShow: this.select === 'ybcx'
        }
      ]
    },
    options() {
      return {
        title: {
          show: !this.dataList.length,
          text: '暂无数据',
          left: 'center',
          top: 'center',
          textStyle: {
            color: '#fff'
          }
        },
        grid: {
          top: 10,
          left: 20,
          right: 20,
          bottom: 5,
          containLabel: true
          // show: false,
        },
        tooltip: {
          trigger: 'axis',
          axisPointer: {
            // type: 'shadow'
          }
          // formatter: (params) => {
          //   const currentData = params[0]
          //   const index = params[0].dataIndex
          //   return `${currentData.name}<br>排名:${this.dataList[index].pm}<br>环比:${this.dataList[index].hb}`
          // }
        },
        xAxis: {
          axisLine: {
            show: false
          },
          axisTick: {
            show: false
          },
          axisLabel: {
            color: '#5ED7FF'
          },
          splitLine: {
            show: true, // X轴内容区域显示分隔线
            lineStyle: {
              type: 'dashed', // 分割线类型为虚线
              color: '#409EFF' // 分割线颜色
            }
          },
          minInterval: 1 // 坐标轴最小间隔
        },
        yAxis: {
          axisTick: {
            show: false
          },
          axisLine: {
            // show: true,
            show: !!this.dataList.length, // 根据数据判断是否展示Y轴轴线(如果只设置为true没有数据时该线依然在)
            lineStyle: {
              color: '#409EFF'
            }
          },
          axisLabel: {
            color: '#5ED7FF'
          },
          data: this.dataList.map((item) => item.name)
        },
        // dataZoom: [ // 滚动鼠标滚轮进行缩放 https://echarts.apache.org/zh/option.html#dataZoom-inside.type
        //   {
        //     type: 'inside'
        //   }
        // ],
        series: [
          {
            name: '已裁决',
            type: 'bar',
            barMaxWidth: 30, // 柱条最大宽度
            itemStyle: {
              // 柱形颜色
              color: new this.$echarts.graphic.LinearGradient(0, 0, 1, 0, [
                { offset: 0, color: '#236CDC' },
                { offset: 1, color: '#409EFF' }
              ]),
              // 柱形边框
              borderRadius: [0, 100, 100, 0]
            },
            emphasis: {
              itemStyle: {
                // 鼠标移入柱形颜色
                color: new this.$echarts.graphic.LinearGradient(0, 0, 1, 0, [
                  { offset: 1, color: '#236CDC' },
                  { offset: 0, color: '#409EFF' }
                ])
              }
            },
            data: this.dataList.map((item) => item.value)
          },
          {
            name: '未裁决',
            type: 'bar',
            barMaxWidth: 30, // 柱条最大宽度
            itemStyle: {
              // 柱形颜色
              color: new this.$echarts.graphic.LinearGradient(0, 0, 1, 0, [
                { offset: 0, color: '#0096C5' },
                { offset: 1, color: '#00EDFF' }
              ]),
              // 柱形边框
              borderRadius: [0, 100, 100, 0]
            },
            emphasis: {
              itemStyle: {
                // 鼠标移入柱形颜色
                color: new this.$echarts.graphic.LinearGradient(0, 0, 1, 0, [
                  { offset: 1, color: '#0096C5' },
                  { offset: 0, color: '#00EDFF' }
                ])
              }
            },
            data: this.dataList.map((item) => item.value + 10)
          }
        ]
      }
    }
  },

  watch: {
    dataList() {
      this.init()
    }
  },

  mounted() {
    window.addEventListener('resize', () => {
      if (document.getElementById('EchartsDom')) {
        this.Echarts = this.$echarts.init(document.getElementById('EchartsDom'))
        this.Echarts.resize()
      }
    })

    this.init()
  },

  created() {},

  methods: {
    init() {
      if (this.Echarts) {
        this.Echarts.dispose()
      }
      this.Echarts = this.$echarts.init(document.getElementById('EchartsDom'))

      this.Echarts.setOption(this.options)
    }
  }
}
</script>

<style lang='scss' scoped>
.section {
  height: 100%;
  overflow: hidden;
  #EchartsDom {
    height: calc(100% - 52px);
    // background-color: #fff;
  }
}
</style>

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

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

相关文章

电子学会C/C++编程等级考试2023年12月(五级)真题解析

C/C++等级考试(1~8级)全部真题・点这里 第1题:书架(2023.12) John最近买了一个书架用来存放奶牛养殖书籍,但书架很快被存满了,只剩最顶层有空余。 John共有N头奶牛(1 ≤ N ≤ 20,000),每头奶牛有自己的高度Hi(1 ≤ Hi ≤ 10,000),N头奶牛的总高度为S。书架高度为B(1 …

Elasticsearch各种文档操作

本文来记录下Elasticsearch各种文档操作 文章目录 初始化文档数据查询所有文档匹配查询文档关键字精确查询文档多关键字精确查询文档字段匹配查询文档指定查询字段查询文档 初始化文档数据 在进行各种文档操作之前&#xff0c;我们先进行初始化文档数据的工作 查询所有文档 在 …

【React】Redux的使用详解

文章目录 Redux的三大原则Redux官方图react-redux使用 1、创建store管理全局状态​ 2、在项目index.js根节点引用 3、 在需要使用redux的页面或者组件中&#xff0c;通过connect高阶组件映射到该组件的props中 redux中异步操作如何使用redux-thunkcombineReducers函数 Re…

Pixels:重新定义游戏体验的区块链农场游戏

数据源&#xff1a;Pixels Dashboard 作者&#xff1a;lesleyfootprint.network 最近&#xff0c;Pixels 通过从 Polygon 转移到 Sky Mavis 旗下的 Ronin 网络&#xff0c;完成了一次战略性的转变。 Pixels 每日交易量 Pixels 在 Ronin 网络上的受欢迎程度急剧上升&#xf…

关于VScode的这个ssh的配置的经验

1.首先&#xff0c;我是因为重装了ubantu系统&#xff0c;不得不重新配置ssh 2.第一步&#xff0c;在本机的终端安装ssh插件&#xff1a; &#xff08;1&#xff09; &#xff08;2&#xff09;restart开启这个ssh端口 3.然后&#xff0c;就在vscode里面&#xff0c;安装哪个…

【办公自动化】利用Python代码暴力破解RAR压缩包的密码

title: 利用Python代码暴力破解RAR压缩包的密码 tags: bigleft excerpt: 利用Python代码暴力破解RAR压缩包的密码 利用Python代码暴力破解RAR压缩包的密码 引言 有时从网盘或p2p下载了几个G的资源&#xff0c;下载了几天&#xff0c;终于下载完成&#xff0c;结果发现来需要密…

QT上位机开发(MySql访问)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 网上介绍的关于QT和mysql部分的内容&#xff0c;都是利用Qt自带的mysql库来实现数据读写的。但是事实上来说&#xff0c;即使不用qt带的库&#xf…

12.30平衡二叉树、生成树最短路、链表、排序、二叉树——数算选择题专练

1 平衡二叉树 节点数目一定时&#xff0c;平衡因子为1时&#xff0c;树最高。 平衡二叉树&#xff0c;左右子树都是平衡的&#xff0c;最少要满足一个式子&#xff0c;即维护左右都是AVL,最多就是满二叉树&#xff0c;节点总数为2^(h-1)&#xff1b;最少的时候&#xff0c;每…

2.mac 安装 Visual studio code 整合go开发

目录 概述前置下载关键命令整合C#go配置go插件常见的go工具安装测试 结束 概述 mac 安装 Visual studio code 整合go开发 相关前置文章 go安装及相关配置 文章 前置 官网速递 mac 系统高于等于 10.15.x 可以直接最新版本 我的系统是 10.13 &#xff0c;所以只能安装此版本…

Linux系统三剑客之awk命令详解(三)

Linux系统三剑客之grep和正则表达式的介绍(一)-CSDN博客 Linux系统三剑客之sed命令详解(二)-CSDN博客 接上文 目录 1.作用 2.语法 3.变量 4.选项 5.模式 ​编辑 6.动作 7.实例 1.作用 awk是一个强大的文本分析工具&#xff0c;其主要工作原理就是将文件内容逐行读取…

手拉手Vue组件由浅入深

组件 (Component) 是 Vue.js 最强大的功能之一&#xff0c;它是html、css、js等的一个聚合体&#xff0c;封装性和隔离性非常强。 组件化开发&#xff1a; 1、将一个具备完整功能的项目的一部分分割多处使用 2、加快项目的进度 3、可以进行项目的复用 组件注册分…

IaC基础设施即代码:Terraform 连接 aws S3 实现多资源管理

目录 一、实验 1.环境 2.aws 亚马逊云创建用户 3.Windows使用Terraform 初始化 aws provider 4.Windows使用Terraform 创建S3存储资源 &#xff08;对象存储&#xff09; 5.Windows使用Terraform 创建Dynamo DB资源 &#xff08;表格存储&#xff09; 6.Windows给Terrafo…

Skywalking链路追踪

目录 一、简介1.1、APM系统1.2、SkyWalking 简介 二、快速入门2.1、下载、启动2.2、界面认识 三、持久化存储四、告警通知五、自定义追踪-细粒度追踪service方法 一、简介 1.1、APM系统 APM&#xff08;Application Performance Monitoring&#xff09;系统是一种用于监控和管…

《Redis:NoSQL演进之路与Redis深度实践解析》

文章目录 关于NoSQL为什么引入NoSQL1、单机MySQL单机年代的数据库瓶颈 2、Memcached&#xff08;缓存&#xff09; MySQL 垂直拆分 &#xff08;读写分离&#xff09;3、分库分表水平拆分MySQL集群4、如今的网络架构5、总结 NoSQL的定义NoSQL的分类 Redis入门Redis能干嘛&…

AI教我学编程之C#类的基本概念(1)

前言 在AI教我学编程之C#类型 中&#xff0c;我们学习了C#类型的的基础知识&#xff0c;而类正是类型的一种. 目录 区分类和类型 什么是类&#xff1f; 对话AI 追问 实操 追踪属性的使用 AI登场 逐步推进 提出疑问 药不能停 终于实现 探索事件的使用 异步/交互操作 耗时操…

IO网络4.0

思维导图 tftp上传 #include <myhead.h>#define ERR_LOG(msg) do{\perror(msg);\printf("%d %s %s\n", __LINE__, __func__, __FILE__);\ }while(0)#define PORT 69 #define N 516int do_upload(int sfd, struct sockaddr_in sin);int main(int a…

k8s的对外服务ingress

1、service的作用体现在两个方面 &#xff08;1&#xff09;集群内部&#xff1a;不断跟踪pod的变化&#xff0c;更新deployment中的pod对象&#xff0c;基于pod的ip地址不断变化的一种服务发现机制 &#xff08;2&#xff09;集群外部&#xff1a;类似于负载均衡器&#xff…

PuTTY的ppk密钥与OpenSSH密钥之间的相互转换

几个概念说明&#xff1a;id_rsa、id_rsa.pub、ppk、pem 目前有两个主流的密钥格式&#xff1a;OpenSSH格式的密钥 和 PuTTY格式的密钥。 id_rsa和id_rsa.pub 都是OpenSSH格式的密钥。 id_rsa是OpenSSH格式的SSH私钥。 id_rsa.pub是OpenSSH格式的SSH公钥。ppk文件 ppk文件是P…

机器视觉系统在汽车车轮毂检测上的应用

将机器视觉用于轮毂检测&#xff0c;可以利用图像分析的方法来测量轮毂特征尺寸、判断轮毂形状&#xff0c;并获取其位置坐标等信息&#xff0c;从而能够辨识流水生产线上的各种款式和型号的汽车轮毂。 市面上对汽车车轮毂具体检测要求如下 &#xff1a; 1.为了分辨流水线上…

HTTPS:如何确保您的网站数据传输安全?

目录 博客前言 一.HTTPS 1.1 HTTPS简介 1.2 HTTP和HTTPS区别 1.3 TLS/SSL协议工作原理 1.3.1 TLS/SSL协议结构 1.3.2 SSL/TLS握手协议建立连接过程 1.2.3 SSL/TLS报文分析 博客前言 以下是一个关于HTTPS协议的博客前言示例&#xff1a; 欢迎来到我的博客&#xff0c;今…