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

echarts实现3D柱状图(视觉层面)根据博主改编

https://blog.csdn.net/weixin_57798646/article/details/131067725
这是原贴
在这个基础上我需要实现
在这里插入图片描述
一根柱子
代码如下

<!DOCTYPE html>
<html lang="en" style="height: 100%"><head><meta charset="utf8">
</head><body style="height: 100%; margin: 0"><div id="litiBar1" style="height:100%;background-color: #000;"></div><script type="text/javascript" src="https://registry.npmmirror.com/echarts/5.5.1/files/dist/echarts.min.js"></script><script type="text/javascript">//组织数据let setData = function (data, constData, showData) {data.filter(function (item) {if (item) {constData.push(1);showData.push(item);} else {constData.push(0);showData.push({value: 1,itemStyle: {normal: {borderColor: "rgba(0,0,0,0)",borderWidth: 2,color: "rgba(0,0,0,0)",},},});}});}//组织颜色let setColor = function (colorArr) {let color = {type: "linear",x: 0,x2: 1,y: 0,y2: 0,/* 此处决定阴暗面 若为横向柱状图则x,y轴调换x: 0,x2: 0,y: 0,y2: 1, */colorStops: [{offset: 0,color: colorArr[0],},{offset: 0.5,color: colorArr[0],},{offset: 0.5,color: colorArr[1],},{offset: 1,color: colorArr[1],},],};return color}var vehicle = [45, 25, 48, 62, 10]var controlBall = [0, 0, 0, 0, 0]var barWidth = 220//顶部组件的宽度;//上边的宽度var constData1 = [];var showData1 = [];var constData2 = [];var showData2 = [];setData(vehicle, constData1, showData1)var colorArr1 = ["#345A8B", "#387ABD", "#51C0DB"];// var colorArr2 = ["#51C0DB", "#42D9D6", "#45F5F1"];var color1 = setColor(colorArr1)// var color2 = setColor(colorArr2)var option = {tooltip: {trigger: 'axis',axisPointer: {type: 'shadow'}},grid: {top: '15%',bottom: '15%'},xAxis: {type: 'category',axisLabel: {color: '#A2BCC9',fontSize: 16},offset: 30,axisLine: {show: false,},axisTick: {show: false},data: ['0-18', '18-30', '30-50', '50-65', '>65']},yAxis: {type: 'value',axisLabel: {show: false},axisLine: {show: false,},splitLine: {show: false,}},series: [{z: 1,type: 'bar',name: '人员数量',barGap: "15%", //相邻柱子间距itemStyle: {borderRadius: [0, 0, 0, 0],//柱子四周圆角color: color1//柱子左右颜色(深,浅)},data: vehicle //Y轴上的高度},// ---------------------------------------------{z: 2,name: '人员数量',type: "pictorialBar",data: constData1,//此数据对应底部组件symbol: "diamond",//底部组件形状,不写默认为椭圆symbolOffset: [0, 15],//与柱子的偏移角度[左边偏移,上下偏移]symbolSize: [210, 30],//底面[宽,高]itemStyle: {normal: {color: color1//底面左右颜色(深,浅)},},tooltip: {show: false,},},{z: 3,name: '人员数量',label: { // 在这里明确设置 label 配置show: true,position: 'top',color: '#DFEEFA',distance: 20,textStyle: {fontSize: 16 // 设置图例的字体大小},},type: "pictorialBar",symbolPosition: "end",data: showData1,//此数据对应顶部组件symbol: "diamond",symbolOffset: [0, -10],//顶部组件的左边偏移数值和右边偏移数值symbolSize: [barWidth - 10, (20 * (barWidth - 4)) / barWidth],//顶部组件[宽,高]itemStyle: {normal: {/* borderColor: colorArr1[2],borderWidth: 2, */ //加上棱角分明color: colorArr1[2]},},tooltip: {show: false,},},]}let chart1 = echarts.init(document.querySelector("#litiBar1"), null, {renderer: 'canvas',useDirtyRect: false});var app = {};// chart1.setOption(option)if (option && typeof option === 'object') {chart1.setOption(option);}window.addEventListener('resize', chart1.resize);</script>
</body></html>
http://www.lryc.cn/news/451550.html

相关文章:

  • 【一篇文章理解Java中多级缓存的设计与实现】
  • OpenSource - 开源WAF_SamWaf
  • 旅游避坑指南
  • 矩阵系统源码搭建的具体步骤,支持oem,源码搭建
  • 正则表达式调试工具实战
  • SQL:函数以及约束
  • 在Linux中将设备驱动的地址映射到用户空间
  • 电脑自带dll修复在哪里,dll丢失的6种解决方法总结
  • k8s基于nfs创建storageClass
  • Chrome无法拖入加载.crx扩展文件(以IDM为例)
  • 数字教学时代:构建高效在线帮助中心的重要性
  • 828华为云征文|华为云弹性云服务器FlexusX实例下的Nginx性能测试
  • 知识图谱入门——2:技术体系基本概念:知识表示与建模、知识抽取与挖掘、知识存储与融合、知识推理与检索
  • 【不看会后悔系列】排序之——文件归并【史上最全详解】~
  • 安全点的应用场景及其原理详解
  • 计算机各专业2025毕业设计选题推荐【各专业 | 最新】
  • 【Python报错已解决】IndexError: index 0 is out of bounds for axis 1 with size 0
  • SpringGateway(网关)微服务
  • jQuery面试题:(第三天)
  • 聊聊国内首台重大技术装备(2)
  • python 实现rayleigh quotient瑞利商算法
  • Java Web应用升级故障案例解析
  • Java类和对象、自定义包、static、代码块、方法重写
  • 【系统代码】招投标采购一体化管理系统,JAVA+vue
  • 基于yolov8深度学习的120种犬类检测与识别系统python源码+onnx模型+评估指标曲线+精美GUI界面目标检测狗类检测犬类识别系统
  • UNI-APP_iOS开发技巧之:跳转到TestFlight或者App Store
  • 基于SSM+Vue技术的定制式音乐资讯平台
  • Spring依赖注入和注解驱动详解和案例示范
  • 网络通信——OSPF协议(基础篇)
  • Kubernetes从零到精通(15-安全)