echarts 3D立体圆柱堆叠柱状图

3D立体圆柱堆叠柱状图

import * as echarts from 'echarts';

var chartDom = document.getElementById('main');
var myChart = echarts.init(chartDom);
var option;

let barData1 = [10, 15, 8, 18, 9, 12, 14];
let barData2 = [8, 6, 5, 8, 4, 6, 4];
let barData3 = [8, 5, 12, 8, 20, 14, 17];
let dateX = [`周一`, '周二', '周三', '周四', '周五', '周六', '周日'];
let pictorialBar = [];
// let pictorialBar2 = [];
// let pictorialBar2 = [];
// let pictorialBar3 = [];
for (let i = 0; i < barData1.length; i++) {
   
  // pictorialBar.push(barData1[i] + barData2[i])
  // pictorialBar2.push(barData1[i] + barData2[i] + barData3[i])
  if (barData2[i] > 0) {
   
    pictorialBar.push(Number(barData1[i]) + Number(barData2[i]));
  } else {
   
    pictorialBar.push('');
  }
  // if (barData3[i] > 0) {
   
  //   pictorialBar2.push(Number(barData3[i]));
  // } else {
   
  //   pictorialBar2.push('');
  // }
}

option = {
   
  title: {
   
    text: '完成情况',
    x: 'center',
    textStyle: {
   
      //文字颜色
      color: '#000',
      //字体风格,'normal','italic','oblique'
      // fontStyle: 'normal',
      //字体粗细 'normal','bold','bolder','lighter',100 | 200 | 300 | 400...
      fontWeight
### ECharts 创建立体圆柱柱状图 为了实现ECharts中的立体圆柱柱状图,可以利用`echarts-gl`库来增强三维效果。下面是一个具体的实例说明如何配置并展示这种图表。 #### 导入必要的资源文件 首先确保项目中已经引入了 `echarts` 和 `echarts-gl` 库[^1]: ```html <script src="https://cdn.jsdelivr.net/npm/echarts@latest/dist/echarts.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/echarts-gl@latest/dist/echarts-gl.min.js"></script> ``` #### 初始化容器与基本设置 定义一个HTML元素作为图表渲染的目标区域,并初始化ECharts实例: ```javascript var chartDom = document.getElementById('main'); var myChart = echarts.init(chartDom); ``` #### 配置项详解 接下来是最重要的部分——配置项的设计。这里特别注意的是,在系列(series)选项里指定了类型为 `'cylinder'` 来表示我们要绘制的是圆柱形而不是默认的矩形条;同时通过调整视角参数 (`viewControl`) 可以让图形看起来更具有空间感。 ```javascript option = { backgroundColor: '#fff', // 设置视点控制,默认俯仰角和旋转角度 visualMap: false, viewControl: { projection: 'orthographic', // 正交投影使物体显得更加真实 alpha: 40, // 上下倾斜度数 beta: 25 // 左右旋转度数 }, xAxis3D: {}, yAxis3D: {}, zAxis3D: {}, grid3D: { boxWidth: 200, boxDepth: 80, light: { main: { intensity: 1.2 }, ambient: { intensity: 0.3 } }, environment: 'auto' }, series : [ { type: 'cylinder', itemStyle: { color: function(params){ var value = params.value[2]; return value === 0 ? 'rgba(0,0,0,0)' : null; } }, data:[ [0, 0, 5], [0, 1, 7], [1, 0, 9], [1, 1, 6] ] } ] }; myChart.setOption(option); ``` 上述代码片段展示了如何自定义颜色逻辑,当数值等于零时返回透明色,从而达到隐藏无意义的数据的效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值