使用Echart实现绘制立体的柱状图

 更新时间:2022年03月17日 14:30:35   作者:Ciao_Traveler  
EChart开源来自百度商业前端数据可视化团队,基于html5 Canvas,是一个纯Javascript图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表。本文将利用EChart绘制立体的柱状图,感兴趣的可以学习一下

效果图:

实现代码:

var xData3 = ["6", "7", "8", "9","10","11"];
    var data3 = [1209, 1715, 2408, 1308, 1308, 1145];
    var data5 = [4000, 4000, 4000, 4000, 4000,4000];
    var option = {
      tooltip: {
        trigger: "axis",
        show: false,
      },
      grid: {
        left: 50,
        bottom: 25,
        top: 30,
        right: 40,
      },
      xAxis: {
        data: xData3,
        name: "(月)",
        // 坐标轴刻度相关设置
        axisTick: {
          show: false,
        },
        // 坐标轴线的相关设置
        axisLine: {
          show: true,
          lineStyle: {
            color: "#414965",
          },
        },
        // 坐标轴刻度标签的相关设置
        axisLabel: {
          // 可以设置成 0 强制显示所有标签
          interval: 0,
          textStyle: {
            color: "#7089ba",
            fontSize: 12,
          },
          margin: 15, //刻度标签与轴线之间的距离。
        },
      },
      yAxis: {
        name: "单位: 万m³",
        nameTextStyle: {
          color: "#fff",
        },
        // 坐标轴在grid区域中的分隔线
        splitLine: {
          show: true,
          lineStyle: {
            color: "#414965",
            opacity: 0.3,
          },
        },
        axisTick: {
          show: false,
        },
        axisLine: {
          show: false,
        },
        axisLabel: {
          textStyle: {
            color: "#7089ba",
            fontSize: 12,
          },
        },
      },
      series: [
        {
          //三个最低下的圆片
          // 系列名称,用于tooltip的显示,legend 的图例筛选,在 setOption 更新数据和配置项时用于指定对应的系列
          name: "",
          type: "pictorialBar",
          symbolSize: [20, 15],
          symbolOffset: [0, 10],
          z: 12,
          // 图形样式
          itemStyle: {
            opacity: 1,
            normal: {
              show: true,
              color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
                {
                  offset: 0,
                  color: "#2d6ac5",//0%处的颜色
                },
                {
                  offset: 1,
                  color: "#2d6ac5",//100%处的颜色
                },
              ]),
              barBorderRadius: 0,
              borderWidth: 0,
            },
          },
          // 显示最底下的圆片
          data: [1, 1, 1, 1, 1,1],
        },

        //下半截柱状图
        {
          name: "2020",
          type: "bar",
          barWidth: 20,
          barGap: "100%",
          itemStyle: {
            //lenged文本
            opacity: 0.1,
            normal: {
              show: true,
              color: new echarts.graphic.LinearGradient(0, 1, 0, 0, [
                {
                  offset: 0,
                  color: "#51b1f9",
                },
                {
                  offset: 1,
                  color: "#2f6ef6",
                },
              ]),
              barBorderRadius: 0,
              borderWidth: 0,
            },
          },
          label: {
            show: true,
            position: "top",
            distance: 10,
            color: "#fff",
          },

          data: data3,
        },
        {
          name: "", //头部
          type: "pictorialBar",
          symbolSize: [20, 15],
          symbolOffset: [0, -10],
          z: 12,
          symbolPosition: "end",
          itemStyle: {
            color: "#22589f",
            opacity: 1,
          },
          data: data5,
        },

        {
          name: "",
          type: "pictorialBar",
          // 图形的大小
          symbolSize: [20, 15],
          // 图形相对于原本位置的偏移
          symbolOffset: [0, -10],
          z: 12,
          itemStyle: {
            opacity: 1,
            normal: {
              show: true,
              color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
                {
                  offset: 0,
                  color: "#48a4f8",
                },
                {
                  offset: 1,
                  color: "#7df4f9",
                },
              ]),
              barBorderRadius: 0,
              borderWidth: 0,
            },
          },
          // 图形的定位位置
          symbolPosition: "end",
          data: data3,
        },

        {
          name: "2019",
          type: "bar",
          barWidth: 20,
          // 如果想要两个系列的柱子重叠,可以设置 barGap 为 '-100%'。这在用柱子做背景的时候有用。
          barGap: "-100%",
          z: 0,
          itemStyle: {
            color: "#102a6f",
            opacity: 0.7,
          },
          data: data5,
        },
      ],
    };

    //this.Chart_init = echarts.init(this.Chart_dom.current);
    //this.Chart_init.setOption(option);

上面的代码就是实现效果图的配置。

到此这篇关于使用Echart实现绘制立体的柱状图的文章就介绍到这了,更多相关Echart立体柱状图内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • JavaScript编写一个简易购物车功能

    JavaScript编写一个简易购物车功能

    这篇文章主要为大家详细介绍了JavaScript简易购物车功能的编写代码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-09-09
  • JS中解决谷歌浏览器记住密码输入框颜色改变功能

    JS中解决谷歌浏览器记住密码输入框颜色改变功能

    这篇文章主要介绍了JS中解决谷歌浏览器记住密码输入框颜色改变功能,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-02-02
  • JavaScript 编写枚举的最有效方法分享

    JavaScript 编写枚举的最有效方法分享

    这篇文章主要介绍了JavaScript 编写枚举的最有效方法分享,JavaScript语言本身不支持枚举。如果我们想模拟枚举,我们可以使用一个对象。更多相关内容感兴趣的小伙伴可以参考一下
    2022-06-06
  • javascript图片预览和上传(兼容IE)

    javascript图片预览和上传(兼容IE)

    这篇文章主要为大家详细介绍了javascript图片预览和上传的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-03-03
  • JavaScript获取客户端计算机硬件及系统等信息的方法

    JavaScript获取客户端计算机硬件及系统等信息的方法

    本文为大家详细介绍下如何使用JavaScript获取客户端计算机硬件及系统等信息,下面有个不错的示例,感兴趣的朋友可以参考下
    2014-01-01
  • 5分钟快速掌握JS中var、let和const的异同

    5分钟快速掌握JS中var、let和const的异同

    在javascript中有三种声明变量的方式:var、let、const,这个是对新手们来说应该掌握的知识,所以这篇文章主要给大家介绍了关于如何通过5分钟快速掌握JS中var,let和const的异同,需要的朋友可以参考下
    2018-09-09
  • javascript 词法作用域和闭包分析说明

    javascript 词法作用域和闭包分析说明

    以下上是我在学习和使用了JS一段时间后,为了更深入的了解它, 也为了更好的把握对它的应用, 从而在对闭包的学习过程中,自己对于词法作用域的一些理解和总结
    2010-08-08
  • JS判断浏览器是否支持某一个CSS3属性的方法

    JS判断浏览器是否支持某一个CSS3属性的方法

    css3表现冲击最大的就是动画了,因此很有必要去事先判断浏览器是否支持,写CSS3动画库就只有部分浏览器支持
    2014-10-10
  • 前端实现打印功能的两种方法详解

    前端实现打印功能的两种方法详解

    当页面设计好后需要打印出来,如网页的的打印浏览和打印功能,有些公司需要让前端开发好页面打印出来或者转为pdf格式的文档,下面这篇文章主要给大家介绍了关于前端实现打印功能的两种方法,需要的朋友可以参考下
    2023-01-01
  • JavaScript中强大的操作符使用详解

    JavaScript中强大的操作符使用详解

    JavaScript 为我们提供了很多操作符,用于操作表达式。下面就来盘点一下 JavaScript 中那些强大的操作符,感兴趣的小伙伴可以了解一下
    2022-09-09

最新评论