Echarts大屏可视化_04 横向柱状图模块的引入和开发

模块的引入

1.寻找官方示例引入

ECharts官方实例入口

 2.引入示例

ECharts 示例 可从这里直接进入

标题、提示信息、图例都不需要所以直接删掉  

 <div class="column">
        <div class="panel bar2">
          <h2>柱状图-技能掌握</h2>
          <div class="chart"></div>
          <div class="panel-footer"></div>
        </div>
        <div class="panel line1">
          <h2>折线图-播放量</h2>
          <div class="chart"></div>
          <div class="panel-footer"></div>
        </div>
        <div class="panel pie1">
          <h2>饼形图-地区分布</h2>
          <div class="chart"></div>
          <div class="panel-footer"></div>
        </div>
      </div>

 这里要注意是 改为bar2  因为要在这里面添加

//柱状图2模块
(function () {
  var myChart = echarts.init(document.querySelector(".bar2 .chart"));
  let option = {
    grid: {
      left: "3%",
      right: "4%",
      bottom: "3%",
      containLabel: true,
    },
    xAxis: {
      type: "value",
      boundaryGap: [0, 0.01],
    },
    yAxis: {
      type: "category",
      data: ["Brazil", "Indonesia", "USA", "India", "China", "World"],
    },
    series: [
      {
        name: "2011",
        type: "bar",
        data: [18203, 23489, 29034, 104970, 131744, 630230],
      },
      {
        name: "2012",
        type: "bar",
        data: [19325, 23438, 31000, 121594, 134141, 681807],
      },
    ],
  };
  myChart.setOption(option);
})();

 

定制开发

1.修改x轴、y轴、网格样式

// 修改网格
    grid: {
      top: "10%",
      left: "22%",
      bottom: "10%",
      // containLabel: true,
    },
    // 不显示x轴相关信息
    xAxis: {
      show: false,
    },
    // 不显示y轴线和相关刻度
    yAxis: {
      type: "category",
      data: ["巴西", "Indonesia", "USA", "India", "China"],
      // 不显示y轴线
      axisLine: {
        show: false,
      },
      // 不显示刻度 
      axisTick: {
        show: false,
      },
      // 把刻度标签里面的文字颜色设置为白色
      axisLabel: {
        color: "#fff",
      },
    },

2. 圆柱样式修改

1.第一组柱子基本样式修改

series: [
      // 第一组柱子
      {
        name: "条",
        type: "bar",
        data: [18203, 23489, 29034, 104970, 131744],
        // 修改第一组柱子的圆角
        itemStyle: {
          barBorderRadius: 20,
        },
        // 修改柱子之间的距离
        barCategoryGap: 50,
        // 柱子的宽度
        barWidth: 10,
        // 显示柱子内的文字
        label: {
          show: true,
          // 图形内显示
          position: "inside",
          // 文字的显示格式   {c}会自动解析为数据data里面的数据
          formatter: "{c}%",
        },
      },
      //第二组柱子
      {
        name: "2012",
        type: "bar",
        data: [19325, 23438, 31000, 121594, 134141],
      },
    ],

 

2.第一组柱子颜色修改

五个柱子都是不同颜色的,在这里我们使用函数的方式来设置。

先看一下 在echarts 提供的params给我们的是什么内容

 itemStyle: {
          barBorderRadius: 20,
          // 使用函数设置柱子颜色
          color: function (params) {
            console.log(params);
          },
        },

 发现每个对象对用的就是每个柱子,所以我们的方法来了

 我们在实例化echarts上面创建一个颜色数组。

  // 颜色数组
  var myColor = ["#1089E7", "#F57474", "#56D0E3", "#F8B448", "#8B78F6"];

 通过params的索引 来动态的返回颜色的值

itemStyle: {
   barBorderRadius: 20,
   // 使用函数设置柱子颜色
   color: function (params) {
     return myColor[params.dataIndex];
   },
 },

3. 第二组柱子的基本样式修改

//第二组柱子
      {
        name: "框",
        type: "bar",
        data: [19325, 23438, 31000, 121594, 134141],
        // 修改柱子之间的距离
        barCategoryGap: 50,
        // 柱子的宽度
        barWidth: 15,
        // 修改第一组柱子的圆角
        itemStyle: {
          // 不要颜色
          color: "none",
          // 边框颜色
          borderColor: "#00c1de",
          // 边框宽度
          borderWidth: 3,
          // 柱子圆角
          barBorderRadius: 15,
        },
      },

4.第二组柱子 y轴后侧内容显示

 我们需要在每一个柱子后面加一个数字显示,这个跟y轴相关,所以我们要扩展y轴

因为yAxis属性 可以是一个数组,所以我们用数组来承载值,做这个效果。

yAxis: [
      {
        type: "category",
        data: ["巴西", "Indonesia", "USA", "India", "China"],
        // 不显示y轴线
        axisLine: {
          show: false,
        },
        // 不显示刻度
        axisTick: {
          show: false,
        },
        // 把刻度标签里面的文字颜色设置为白色
        axisLabel: {
          color: "#fff",
        },
      },
      {
        show: true,
        data: [702, 350, 610, 793, 664],
        // 不显示y轴线
        axisLine: {
          show: false,
        },
        // 不显示刻度
        axisTick: {
          show: false,
        },
        // 把刻度标签里面的文字颜色设置为白色
        axisLabel: {
          color: "#fff",
          fontSize: 12,
        },

      },
    ],

 5.第二组柱子 包含第一组柱子的实现+数据替换

层叠性的实现直接使用yAxisIndex这个属性就可以。

  let option = {
    // 修改网格
    grid: {
      top: "10%",
      left: "22%",
      bottom: "10%",
      // containLabel: true,
    },
    // 不显示x轴相关信息
    xAxis: {
      show: false,
    },
    // 不显示y轴线和相关刻度
    yAxis: [
      {
        type: "category",
        data: ["HTML", "JavaScript", "Vue", "React", "jQuery"],
        // 不显示y轴线
        axisLine: {
          show: false,
        },
        // 不显示刻度
        axisTick: {
          show: false,
        },
        // 把刻度标签里面的文字颜色设置为白色
        axisLabel: {
          color: "#fff",
        },
      },
      {
        show: true,
        data: [702, 350, 610, 793, 664],
        // 不显示y轴线
        axisLine: {
          show: false,
        },
        // 不显示刻度
        axisTick: {
          show: false,
        },
        // 把刻度标签里面的文字颜色设置为白色
        axisLabel: {
          color: "#fff",
          fontSize: 12,
        },
      },
    ],
    series: [
      // 第一组柱子
      {
        name: "条",
        type: "bar",
        data: [70, 34, 60, 78, 69],
        // 柱子的层叠性 
        yAxisIndex: 0,
        // 修改第一组柱子的圆角
        itemStyle: {
          barBorderRadius: 20,
          // 使用函数设置柱子颜色
          color: function (params) {
            return myColor[params.dataIndex];
          },
        },
        // 修改柱子之间的距离
        barCategoryGap: 50,
        // 柱子的宽度
        barWidth: 10,
        // 显示柱子内的文字
        label: {
          show: true,
          // 图形内显示
          position: "inside",
          // 文字的显示格式   {c}会自动解析为数据data里面的数据
          formatter: "{c}%",
        },
      },
      //第二组柱子
      {
        name: "框",
        type: "bar",
        data: [100, 100, 100, 100, 100],
        // 柱子的层叠性
        yAxisIndex: 1,
        // 修改柱子之间的距离
        barCategoryGap: 50,
        // 柱子的宽度
        barWidth: 15,
        // 修改第一组柱子的圆角
        itemStyle: {
          // 不要颜色
          color: "none",
          // 边框颜色
          borderColor: "#00c1de",
          // 边框宽度
          borderWidth: 3,
          // 柱子圆角
          barBorderRadius: 15,
        },
      },
    ],
  };

我们发现数据的显示反了,从下面开始渲染的,我们解决一下这个问题。

在echarts中 有一个inverse反向坐标 将它改为true就可以解决了。

6. 数组数据倒置修改

7.当然,我们也要做窗口大小的适配

  // 侦听屏幕的变化,让图表跟着变化
  window.addEventListener("resize", function () {
    myChart.resize();
  });

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

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

相关文章

【Linux】SELinux 关闭

SELinux 最在安装国产数据库&#xff0c;遇到了无法远程访问的问题&#xff0c;定位了之后&#xff0c;需要关闭SELinux 。 在关闭它之前我们一起了解一下什么是SELinux &#xff1f; 什么是SELinux 安全增强式 Linux&#xff08;SELinux&#xff09;是一种强制访问控制的…

【程序员的自我修养03】深入了解ELF文件格式

绪论 大家好&#xff0c;欢迎来到【程序员的自我修养】专栏。正如其专栏名&#xff0c;本专栏主要分享学习《程序员的自我修养——链接、装载与库》的知识点以及结合自己的工作经验以及思考。编译原理相关知识本身就比较有难度&#xff0c;我会尽自己最大的努力&#xff0c;争取…

【C语言期末不挂科——指针进阶篇】【上】

C语言进阶篇【上】 文章目录 C语言进阶篇【上】字符指针数组指针数组传参和指针传参  数组传参  一级指针传参  二级指针传参 前言&#xff1a; 我们在指针初阶篇学习了&#xff1a; 1、指针就是个变量&#xff0c;用来存放地址&#xff0c;地址唯一标识一块空间。 2、指…

uniapp在H5端实现PDF和视频的上传、预览、下载

上传 上传页面 <u-form-item :label"(form.ququ3 1 ? 参培 : form.ququ3 2 ? 授课 : ) 证明材料" prop"ququ6" required><u-button click"upload" slot"right" type"primary" icon"arrow-upward" t…

大语言模型新升级:亚马逊云科技2023芯片创新日

在这个充满活力的2023年芯片创新日&#xff0c;Amazon EC2 的副总裁 Dave Brown 与观众分享了他与 EC2 的15年漫长旅程。他的眼中闪烁着对技术的热情&#xff0c;他描述了自己如何与一个才华横溢的团队合作&#xff0c;在这大语言模型与生成式AI的元年中致力于为客户提供最佳的…

Linux:进程状态

目录 1.Linux内核关于进程状态的源代码 2. 运行状态 3. 阻塞状态 4. 挂起 5.Linux中的进程状态 5.1 睡眠状态 5.2 暂停状态 5.3 僵尸进程与孤儿进程 我们在学习进程状态时&#xff0c;老师只是简单的让我们记住下面这张图 1.教材中进程操作系统的进程状态 那么这些…

四、shell - 字符串

目录 1、单引号 2、双引号 3、拼接字符串 3.1 使用双引号拼接 3.2 使用单引号拼接 4、获取字符串长度 ​​​​​​​5、提取子字符串 ​​​​​​​6、查找子字符串 ​​​​​​​字符串是shell编程中最常用最有用的数据类型&#xff08;除了数字和字符串&#xff0…

大模型的RPA应用 | 代理流程自动化(APA),开启智能自动化新纪元

随着技术创新的持续推进&#xff0c;自动化技术已经变得至关重要&#xff0c;成为驱动企业和社会向前发展的核心动力。在自动化的里程碑中&#xff0c;机器人流程自动化&#xff08;RPA&#xff09;已经有效地将简单、重复且规则性的任务自动化。可是随着对处理更为复杂、多变且…

“最甜港姐”走的与众不同之路

网络图片 媒体最新报道&#xff0c;她被誉为“最甜港姐”&#xff0c;曾是TVB炙手可热的当红花旦&#xff0c;却在最当红的时候选择急流勇退。 她不是退圈去相夫教子&#xff0c;而是读书深造&#xff0c;成为一名专业律师。 前不久&#xff0c;又有消息传出&#xff0c;明年…

VUE2+THREE.JS辉光设定和解决辉光导致背景变暗的问题

THREE.JS辉光设定和解决辉光导致背景变暗的问题 THREE.JS 辉光设定THREE.JS 辉光导致背景变暗的问题1.设定背景图片2.初始化辉光3. animate 一直渲染辉光 THREE.JS 辉光设定 给我的设计好的fbx模型,已经设定好了模型发光材质,所以直接添加辉光效果,就可以自动发光 blender模型生…

Docker 安装部署 Sentinel Dashboard

1、下载 jar 包 官方 jar 包下载地址&#xff1a;https://github.com/alibaba/Sentinel/releases 或者点击 链接 直接跳转到下载页 进入链接下载你需要的版本 下载完毕&#xff08;我这里统一放在一个sentinel目录内&#xff09; 2、编写 Dockerfile 文件&#xff08;这里我不…

求臻医学满分通过EMQN室间质评,检测实力再获国际权威机构认可

近日&#xff0c;欧洲分子基因诊断质量联盟&#xff08;European Molecular Genetics Quality Network&#xff0c;EMQN&#xff09;公布了2023年Oncogene panel 项目能力验证考核结果&#xff0c;求臻医学旗下北京和杭州检验实验室&#xff0c;使用自主研发的ChosenOne大Panel…

Apache DolphinScheduler 开源之夏采访:苏国伟的开源之旅

个人介绍 大家好&#xff0c;我是苏国伟&#xff0c;来自西安电子科技大学软件工程专业。我在实验室中主要从事数据集成等方面的工作。除了编程&#xff0c;我还热衷于踢足球、观看球赛和健身&#xff0c;这些爱好让我的生活更加丰富多彩。 开源之路 我最初是在本科的分布式…

【Linux基础开发工具】yum生态vim的配置与使用

目录 前言 1. Linux 软件包管理器 yum 1.1 什么是yum 1.2 快速上手yum 1.3 yum生态 2. Linux编辑器vim 2.1 vim的模式 2.2 vim使用技巧 3. vim编辑器辅助功能配置 3.1 配置 3.2 用户sudo权限配置 总结 前言 Linux基础指令与权限之后&#xff0c;Linux系统开发工具的使用…

美林防火建材——朱林甫 坚韧与创新:美林传奇

在这个变幻莫测的时代&#xff0c;有一些创业者凭借着对行业的深刻理解和对未来的敏锐洞察&#xff0c;不仅在商海中乘风破浪&#xff0c;更是引领了整个行业的发展。今天&#xff0c;我们要讲述的&#xff0c;就是一位这样的创业者——来自浙江嘉善的朱总&#xff0c;他创立的…

初始Redis(入门篇)

目录 什么是Redis Redis特性 速度快 丰富的功能 客户端语言多 持久化 主从复制 Redis可以做什么 缓存 排行榜系统 计数器应用 消息队列系统 Redis安装 centos7安装 Redis重要文件 Redis的使用 Redis通用命令 set get keys exists del expire 什么是Redi…

生成式AI与预测式AI的主要区别与实际应用

近年来&#xff0c;预测式人工智能&#xff08;Predictive AI&#xff09;通过先进的推荐算法、风险评估模型、以及欺诈检测工具&#xff0c;一直在推高着该领域公司的投资回报率。然而&#xff0c;今年初突然杀出的生成式人工智能&#xff08;Generative AI&#xff09;突然成…

如何绕过某讯手游保护系统并从内存中获取Unity3D引擎的Dll文件

​ 某讯的手游保护系统用的都是一套&#xff0c;在其官宣的手游加固功能中有一项宣传是对比较热门的Unity3d引擎的手游保护方案&#xff0c;其中对Dll文件的保护介绍如下&#xff0c; “Dll加固混淆针对Unity游戏&#xff0c;对Dll模块的变量名、函数名、类名进行加密混淆处理&…

Android中添加C或C++代码

1、创建cpp目录&#xff0c;用于存放C和C代码。 2、创建CMake构建脚本CMakeLists.txt文件&#xff0c;将其放在cpp目录中。 # Sets the minimum version of CMake required to build the native library. cmake_minimum_required(VERSION 3.22.1)# Declares and names the pro…

单宁对葡萄酒可饮用性和陈酿潜力会有影响吗?

当在酿酒过程中葡萄酒中的单宁过量时&#xff0c;酿酒师可以使用白蛋白、酪蛋白和明胶等各种细化剂&#xff0c;这些药物可以与单宁分子结合&#xff0c;并将其作为沉淀物沉淀出来。随着葡萄酒的老化&#xff0c;单宁将形成长长的聚合链&#xff0c;氧气可以与单宁分子结合&…