当前位置: 首页 > news >正文

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();});

相关文章:

  • 修改element的抽屉<el-drawer的宽度
  • 数据库管理-第120期 初探Halo数据库(202301201)
  • react native 环境准备
  • 初步认识结构体
  • BearPi Std 板从入门到放弃 - 后天篇(1)(I2C1 读取 光照强度)
  • 36.位运算符
  • mysql8.0 提取json数据转为行
  • Python类型注解必备利器:typing模块解读指南
  • 【Python】实现一个简单的区块链系统
  • 智能联动第三方告警中心,完美实现故障响应全闭环
  • MES物料的动态批次管理漫谈
  • 大模型技术的发展与实践
  • 4K-Resolution Photo Exposure Correction at 125 FPS with ~8K Parameters
  • Kubernetes(K8s)Pod控制器详解-06
  • 【刷题】二分查找
  • Asm.js的简单介绍
  • IP路由与转发
  • java多线程
  • JS笔记四:作用域、变量(函数)提升
  • macOS 中 shell 创建文件夹及文件并 VS Code 打开
  • MySQL数据库运维之数据恢复
  • mysql外键的使用
  • open-falcon 开发笔记(一):从零开始搭建虚拟服务器和监测环境
  • React-redux的原理以及使用
  • 基于Mobx的多页面小程序的全局共享状态管理实践
  • 前端每日实战 2018 年 7 月份项目汇总(共 29 个项目)
  • 前端相关框架总和
  • 如何用vue打造一个移动端音乐播放器
  • 在Unity中实现一个简单的消息管理器
  • 阿里云移动端播放器高级功能介绍
  • ​渐进式Web应用PWA的未来
  • ​决定德拉瓦州地区版图的关键历史事件
  • ​软考-高级-系统架构设计师教程(清华第2版)【第15章 面向服务架构设计理论与实践(P527~554)-思维导图】​
  • ​软考-高级-系统架构设计师教程(清华第2版)【第9章 软件可靠性基础知识(P320~344)-思维导图】​
  • ​一帧图像的Android之旅 :应用的首个绘制请求
  • # 睡眠3秒_床上这样睡觉的人,睡眠质量多半不好
  • #设计模式#4.6 Flyweight(享元) 对象结构型模式
  • (¥1011)-(一千零一拾一元整)输出
  • (Redis使用系列) SpirngBoot中关于Redis的值的各种方式的存储与取出 三
  • (附源码)spring boot车辆管理系统 毕业设计 031034
  • (附源码)SSM环卫人员管理平台 计算机毕设36412
  • (附源码)计算机毕业设计SSM疫情下的学生出入管理系统
  • (附源码)计算机毕业设计高校学生选课系统
  • (六)Hibernate的二级缓存
  • (一)硬件制作--从零开始自制linux掌上电脑(F1C200S) <嵌入式项目>
  • (转)Android学习笔记 --- android任务栈和启动模式
  • (转)创业的注意事项
  • *ST京蓝入股力合节能 着力绿色智慧城市服务
  • ./indexer: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object fil
  • .h头文件 .lib动态链接库文件 .dll 动态链接库
  • .net redis定时_一场由fork引发的超时,让我们重新探讨了Redis的抖动问题
  • .NET Standard、.NET Framework 、.NET Core三者的关系与区别?
  • .NET/C# 检测电脑上安装的 .NET Framework 的版本
  • .NET/MSBuild 中的发布路径在哪里呢?如何在扩展编译的时候修改发布路径中的文件呢?
  • .so文件(linux系统)