echarts 立体柱状图

该博客详细介绍了如何利用ECharts库创建一个具有渐变颜色和立体效果的柱状图。通过设置网格、坐标轴、数据系列和图表样式,实现了包含教师数量的条形图,以及用于增强视觉效果的辅助条形图和矩形封顶。同时,配置了标签、工具箱和图例等元素,使得图表更具交互性和可读性。
摘要由CSDN通过智能技术生成

initChart() {
      this.chart = echarts.init(document.querySelector('.visit-ranking #echarts'));
      let option = {
        grid: {
          left: '3%',
          right: '4%',
          bottom: '3%',
          top: '4%',
          containLabel: true,
        },
        toolbox: {

        },
        xAxis: {
          type: 'category',
          //boundaryGap: false,
          data: this.chartData.collegeName,
          axisLabel: {
            textStyle: {
              color: 'rgba(255, 255, 255, 0.65)'
            },
          },
          axisLine: {
            lineStyle: {
              color: 'rgba(255, 255, 255, 0.2)',
            }
          }
        },
        yAxis: {
          //offset: [10, 10],
          type: 'value',
          axisLabel: {
            textStyle: {
              color: 'rgba(255, 255, 255, 0.65)'
            }
          },
          splitLine: {
            show: true,
            lineStyle: {
              color: ['rgba(255,255,255,.2)'],
              width: 1,
              type: 'solid'
            }
          }, axisLine: {
            show: false
          },
          axisTick: {
            show: false
          },
        },
        series: [
          {
            name: '教师',
            type: 'bar',
            data: this.chartData.totalNum,
            barWidth: 10,
            barGap: 200,
            barCategoryGap: 200,
            itemStyle: {
              normal: {
                color: new echarts.graphic.LinearGradient(0, 1, 0, 0, [{
                  offset: 0,
                  color: "#4729FB" // 0% 处的颜色
                }, {
                  offset: 0.5,
                  color: "#3077F7" // 50% 处的颜色
                }, {
                  offset: 1,
                  color: "#1FB0F4" // 100% 处的颜色
                }], false)
              }
            },
            label: {
              show: true, // 柱子顶部的数值
              position: 'top',
              top: 0,
              fontSize: 12,
              offset: [0, 0],
              textStyle: {
                color: 'rgba(255, 255, 255, 0.65)'
              }
            },
            itemStyle: {
              normal: {
                color: new echarts.graphic.LinearGradient(0, 1, 0, 0, [{
                  offset: 0,
                  color: "#4729FB" // 0% 处的颜色
                }, {
                  offset: 0.5,
                  color: "#3077F7" // 50% 处的颜色
                }, {
                  offset: 1,
                  color: "#5CE7F6" // 100% 处的颜色
                }], false)
              }
            },
          }, {
            type: 'bar', //右侧浅色区域,右侧边框,形成立体图形
            barWidth: 4,
            itemStyle: {
              normal: {
                color: new echarts.graphic.LinearGradient(0, 1, 0, 0, [{
                  offset: 0,
                  color: "rgba(71,41,251,.8)" // 0% 处的颜色
                }, {
                  offset: 0.5,
                  color: "rgba(48,119,247,.8)" // 50% 处的颜色
                }, {
                  offset: 1,
                  color: "rgba(92,231,246,.8)" // 100% 处的颜色
                }], false)
              }
            },
            barGap: 0,
            data: this.chartData.totalNum.map(item => item + 1)
          },
          { //顶部的矩形,封顶
            name: 'b',
            tooltip: {
              show: false
            },
            type: 'pictorialBar',
            itemStyle: {
              borderWidth: 0,
              borderColor: '#47A6FF',
              color: '#1AC0F4',

            },
            symbol: 'path://M 0,0 l 120,0 l -30,60 l -120,0 z',
            symbolSize: ['13', '3'],
            symbolOffset: ['-1', '-2'], // 左右 ,上下
            symbolRotate: 0,
            symbolPosition: 'end',
            data: this.chartData.totalNum,
            z: 3
          }
        ]
      };
      this.chart.setOption(option)
    }

 

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值