echarts 设置3D柱状图

<!DOCTYPE html>
<html>
  <head>
    <title>电</title>
    <meta charset="utf-8" />
    <style>
      ::-webkit-scrollbar {
        display: none;
      }

      @font-face {
        font-family: SketchRockwell;
        /*这里是说明调bai用来的字体名du字*/
        src: url("./font/TT0246M_.TTF");
        /*这里是字zhi体文件路径*/
      }

      * {
        margin: 0;
        padding: 0;
      }

      body {
        width: 100vw;
        height: 100vh;
      }

      #main {
        width: 100%;
        height: 100%;
        /* margin: 0 auto; */
      }
    </style>
  </head>

  <body>
    <div id="main" style="width: 100%; height: 100%"></div>
  </body>
  <script src="./js/jquery.min.js"></script>
  <script src="./js/echarts.min.js"></script>
  <script src="./js/echarts-gl.min.js"></script>
  <script src="./js/simplex.js"></script>
  <script type="text/javascript">
    // 基于准备好的dom,初始化echarts实例
    var myChart = echarts.init(document.getElementById("main"));

    var noise = new SimplexNoise(Math.random);
    function generateData(theta, min, max) {
      var data = [];
      for (var i = 0; i <= 24; i += 0.5) {
        for (var j = 0; j <= 30; j += 0.5) {
          var value = Math.abs(noise.noise2D(i / 20, j / 20));
          valMax = Math.max(valMax, value);
          // valMin = Math.min(valMin, value);
          data.push([i, j, value * 200 + 4]);
        }
      }
      return data;
    }
    var valMin = Infinity;
    var valMax = -Infinity;
    var data = generateData(2, 0, 100);
    console.log(valMin, valMax);

    myChart.setOption(
      (option = {
        visualMap: {
          show: false,
          min: 2,
          max: 150,
          inRange: {
            color: [
              "rgba(49,54,149,0.7)",
              "rgba(69,117,180,0.7)",
              "rgba(116,173,209,0.7)",
              "rgba(171,217,233,0.7)",
              "rgba(224,243,248,0.7)",
              "rgba(255,255,191,0.7)",
              "rgba(254,224,144,0.7)",
              "rgba(253,174,97,0.7)",
              "rgba(244,109,67,0.7)",
            //   "rgba(215,48,39,0.7)",
            //   "rgba(165,0,38,0.7)",
            ],
          },
        },

        xAxis3D: {
          name: "小时",
          nameTextStyle: {
            fontFamily: "SketchRockwell",
            fontSize: 10,
            color: "#fff",
          },
          max: 24,
          type: "value",
          axisLabel: {
            show: true,
            fontFamily: "SketchRockwell",
            fontSize: 10,
            color: "#fff",
          },
        },
        yAxis3D: {
          name: "日期",
          nameTextStyle: {
            fontFamily: "SketchRockwell",
            fontSize: 10,
            color: "#fff",
          },
          type: "value",
          axisLabel: {
            show: true,
            fontFamily: "SketchRockwell",
            fontSize: 10,
            color: "#fff",
          },
        },
        zAxis3D: {
          name: "kWh",
          nameTextStyle: {
            fontFamily: "SketchRockwell",
            fontSize: 10,
            color: "#fff",
          },
          type: "value",
          max: 250,
          min: 0,
          axisLabel: {
            show: true,
            fontFamily: "SketchRockwell",
            fontSize: 10,
            color: "#fff",
          },
        },
        grid3D: {
          top: "center",
          axisLine: {
            lineStyle: { color: "#000" },
          },
          axisPointer: {
            lineStyle: { color: "#000" },
          },
          viewControl: {
            autoRotate: true,
          },
          light: {
            main: {
              shadow: true,
              quality: "ultra",
              intensity: 1,
            },
          },
          boxWidth: 80,
          boxHeight: 80,
          boxDepth: 80,
        },
        series: [
          {
            type: "bar3D",
            data: data,
            shading: "lambert",
            label: {
              formatter: function (param) {
                return param.value[2].toFixed(1);
              },
            },
          },
        ],
      })
    );
  </script>
</html>

运行结果:

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
要实现echarts3D柱状图,可以参考以下步骤: 1. 首先,你可以查看echarts官方网站,了解echarts自定义图形的详细用法。\[1\] 2. 参考你提供的案例,可以创建左右两个面,也就是两个柱子。为了形成一点对比,可以稍微调整左右两个面的颜色。同时,可以使用"type: 'pictorialBar'"来实现底部和顶部的效果。\[2\] 3. 在代码中,可以设置柱状图的柱宽(barWidth)为一个固定值,例如30。如果改动这个值导致柱子形状变形,可以调整series中每一个对象的symbolOffset的值。\[3\] 4. 对于双柱状图,可以在series数组中定义多个元素,前几个元素表示"本期"柱状图,后几个元素表示"同期"柱状图。每个柱子都由上中下三部分组成,因此需要定义多个series元素来表示柱子的主体部分、底部和顶部。为了达到整体性的效果,每个柱状图的三部分颜色需要统一。\[3\] 通过以上步骤,你可以实现echarts3D柱状图。希望对你有帮助! #### 引用[.reference_title] - *1* [echarts实现3d柱状图的两种方式](https://blog.csdn.net/weixin_69773376/article/details/128199545)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [echarts 3d柱状图](https://blog.csdn.net/xuyanl/article/details/128011860)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [echarts实现3D效果柱状图](https://blog.csdn.net/dqfkkll/article/details/120287486)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值