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

Echarts3D柱状图-圆柱体-文字在柱体上垂直显示的实现方法

全部代码

<!DOCTYPE html>
<html lang="en" style="height: 100%">
<head><meta charset="utf-8"><title>3D柱状图-圆柱体-文字竖排</title>
</head>
<body style="height: 100%; margin: 0"><div id="main" style="height: 100%"></div><script type="text/javascript" src="https://cdn.staticfile.org/jquery/3.7.1/jquery.min.js"></script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/echarts@5.4.1/dist/echarts.min.js"></script><script type="text/javascript">// 当请求回数据后initData(['周一', '周二', '周三', '周四', '周五', '周六'], [100, 50, 70, 80, 60, 40])function initData(xData, yData) {var chartDom = document.getElementById('main');var bar = echarts.init(chartDom);let options = {// 直角坐标系内绘图网格,设置组件距离容器的距离grid: {left: 50,top: 50,right: 50,bottom: 50},// 设置鼠标移入的提示,默认显示tooltip: {},// 设置图例legend: {textStyle: {color: '#999'}},// 设置x轴xAxis: {data: [],// 显示x轴axisLine: {show: true},// 设置x轴的颜色和偏移量axisLabel: {color: '#999',rotate: 0},// 不显示x轴刻度axisTick: {show: false}},// 设置y轴yAxis: {// 显示y轴axisLine: {show: true},// 设置y轴的颜色axisLabel: {color: '#999',},// 不显示y轴刻度axisTick: {show: false},// 不显示分隔线splitLine: {show: false}},// 表示不同系列的列表series: []}// 设置顶部和底部的值let symbolData = [], newShadowHight = [];let heights = 0;yData.forEach(item => {symbolData.push(1)heights += item});newShadowHight = yData.map(item => heights);options.xAxis.data = xData;options.series = [// 底部{z: 2,type: 'pictorialBar',symbol: 'circle',symbolOffset: ['0%', '50%'],symbolSize: [30, 12],toolltip: {show: false},itemStyle: {color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{offset: 0, color: '#1f7eff'}, {offset: 1,color: '#64adff'}])},data: symbolData,},//内容区域{z: 1,type: 'bar',barWidth: 30,label: {normal: {show: true,position: 'inside',verticalAlign: 'middle', // 垂直居中显示// rotate: 90, // 旋转90度,使文字垂直显示//formatter: '{a|{b}}',//{a|{c}万人}formatter: function (params) {console.log(params);let txtArry = params.name.split('');let rs = "";for (var i = 0; i < txtArry.length; i++) {rs += txtArry[i] + "\n";}return rs;},rich: {a: {color: '#fff',fontSize: 14,align: 'center',},}}},data: yData},//内容的顶部{z: 3,type: 'pictorialBar',symbol: 'circle',symbolPosition: 'end',symbolOffset: ['0%', '-50%'],symbolSize: [30, 12],toolltip: {show: false,},itemStyle: {color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{offset: 0, color: '#1f7eff'}, {offset: 1,color: '#64adff',}])},label: {normal: {show: true,position: 'top',formatter: '{a|{c}万人}',//{a|{c}万人}rich: {a: {color: 'inherit',fontSize: 14,align: 'center'},}}},data: yData,},];// 设置配置项bar.setOption(options);window.addEventListener('resize', bar.resize);}</script>
</body>
</html>

效果图

在这里插入图片描述

http://www.dtcms.com/a/266315.html

相关文章:

  • Spring Boot + 本地部署大模型实现:优化与性能提升
  • js请求避免缓存的三种方式
  • LiteHub中间件之限流实现
  • AI+Web3:从Web2到Web3的范式革命与深度技术实践
  • 智能电动汽车 --- 车辆网关路由缓存
  • 【烧脑算法】最小字典序:巧用单调栈,从栈底到最优解
  • 缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级
  • Oracle如何使用序列 Oracle序列使用教程
  • 【牛客算法】小红的子序列逆序对
  • java类加载机制:Tomcat的类加载机制
  • 歌词引擎·FreeFlow
  • 【深度解析】Seedance 1.0:重新定义 AI 视频生成的工业级标准
  • 差分定位技术:原理、分类与应用场景
  • 接口测试之postman
  • UI评审时应该注意哪些方面才能有效保障交付质量
  • 深入理解JVM垃圾回收机制:引用计数法与可达性分析算法
  • 【Linux安装 OpenSSL 1.0.2 兼容包】
  • 【手动安装并启动后, 如何查看mysql数据库密码以及重置密码(centos8)】
  • 负载均衡--常见负载均衡算法
  • 【论文笔记】【强化微调】综述 - Think With Image
  • 二叉树题解——将有序数组转换为二叉搜索树【LeetCode】优化解法
  • 微软医疗AI诊断系统发布 多智能体协作实现疑难病例分析
  • 怎么处理[TOO_MANY_REQUESTS/12/disk usage exceeded flood-stage watermark
  • windows安装ELK
  • Nginx 的安装部署
  • Web后端开发(事务管理、AOP)
  • 倾斜摄影无人机飞行航线规划流程详解
  • 无人机Ku相控阵卫星通信系统技术说明
  • jQuery Mobile 安装使用教程
  • 高可扩展属性建模设计:架构师的全局思考与落地方案