堆叠立体柱状图

描述:当前是关于Echarts图表中的 柱状图 示例。
 
            let datas = [
   {
      "name": "橘梨纱",
      "value": 91
   },
   {
      "name": "美竹铃",
      "value": 237
   },
   {
      "name": "天海翼",
      "value": 209
   },
   {
      "name": "泷泽萝拉",
      "value": 190
   },
   {
      "name": "樱井莉亚",
      "value": 190
   },
   {
      "name": "铃原爱蜜莉",
      "value": 190
   },
   {
      "name": "早乙女露依",
      "value": 190
   },
   {
      "name": "桃谷绘里香",
      "value": 190
   }
]
let legendName = datas.map(item => item.name)
let color = ["#dcdc3c", "#2FCAFD", "#C24D59", "#4BACBF", "#DDAE41", "#8946C4"]
let rich = {}
let richOld = {
   a: {
      width: 145,
      fontSize: 15,
      fontFamily: 'Bebas',
      color: '#fff',
      padding: [0, 0, 0, 10],
   },
}
color.forEach((item, index) => {
   rich[`point${index}`] = {
      width: 8,
      height: 8,
      borderRadius: 5,
      backgroundColor: color[index],
   }
   rich[`b${index}`] = {
      width: 60,
      align: 'right',
      padding: [0, 0, 0, 0],
      color: color[index],
      fontSize: 15,
      // fontWeight: 'bold',
      fontFamily: 'Bebas',
   }
   rich[`c${index}`] = {
      padding: [0, 0, 0, 20],
      color: color[index],
      fontSize: 15,
      fontFamily: 'Bebas',
   }
})
let legend = {
   orient: 'vertical',
   selectedMode: false,
   left: '24%',
   top: '10%',
   icon: 'none',
   // itemGap: 25,
   // itemHeight: 7,
   // itemWidth: 7,
   formatter(name) { // 该函数用于设置图例显示后的百分比
      let data = datas
      let total = 0
      let value = 0
      let idx = data.findIndex((item) => item.name == name)
      data.forEach((item) => {
         total += item.value
         if (item.name == name) {
            value = item.value
         }
      })
      let p = ((value / total) * 100).toFixed(2)
      return [`{point${idx}|}{a|${name}}{b${idx}|${(value || 0).toString()}个}{d|}{c${idx}|${p || '0'}%}`]
   },
   textStyle: {
      padding: [11, 20, 8, 20],
      backgroundColor: 'rgba(42, 54, 68, 0.2)',
      rich: { ...rich, ...richOld },
   },
}
option = {
   backgroundColor: '#fff',
   xAxis: {
      show: false,
      data: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']
   },
   yAxis: {
      show: false,
   },
   legend,
   series: [
      {//第一节
         name: legendName[0],
         type: 'bar',
         //  barWidth:20,
         stack: 'two',
         z: 1,
         itemStyle: {
            borderWidth: 2, //用border设置两个柱形图之间的间距
            borderColor: 'rgba(255, 255, 255, 1)', //同背景色一样
            color: {
               x: 1,
               y: 0,
               x2: 0,
               y2: 0,
               type: "linear",
               global: false,
               colorStops: [
                  {
                     offset: 0,
                     color: '#b0b513',
                  },
                  {
                     offset: .5,
                     color: '#b0b513'
                  },
                  {
                     offset: .5,
                     color: '#bec81a'
                  },
                  {
                     offset: 1,
                     color: '#dcdc3c'
                  }
               ],
            },
         },
         data: [50]
      },
      {//第二节
         name: legendName[1],
         type: 'bar',
         //  barWidth:20,
         stack: 'two',
         z: 1,
         itemStyle: {
            borderWidth: 2, //用border设置两个柱形图之间的间距
            borderColor: 'rgba(255, 255, 255, 1)', //同背景色一样
            color: {
               x: 1,
               y: 0,
               x2: 0,
               y2: 0,
               type: "linear",
               global: false,
               colorStops: [
                  {
                     offset: 0,
                     color: '#2450F0',
                  },
                  {
                     offset: .5,
                     color: '#2450F0'
                  },
                  {
                     offset: .5,
                     color: '#2FCAFD'
                  },
                  {
                     offset: 1,
                     color: '#2450F1'
                  }
               ],
            },
         },
         data: [50]
      },
      {//第三节
         name: legendName[2],
         type: 'bar',
         //  barWidth:20,
         stack: 'two',
         z: 1,
         itemStyle: {
            borderWidth: 2, //用border设置两个柱形图之间的间距
            borderColor: 'rgba(255, 255, 255, 1)', //同背景色一样
            color: {
               x: 1,
               y: 0,
               x2: 0,
               y2: 0,
               type: "linear",
               global: false,
               colorStops: [
                  {
                     offset: 0,
                     color: '#C24D59',
                  },
                  {
                     offset: .5,
                     color: '#C24D59'
                  },
                  {
                     offset: .5,
                     color: '#F59DA6'
                  },
                  {
                     offset: 1,
                     color: '#F59DA6'
                  }
               ],
            },
         },
         data: [50]
      },
      {//第四节
         name: legendName[3],
         type: 'bar',
         //  barWidth:20,
         stack: 'two',
         z: 1,
         itemStyle: {
            borderWidth: 2, //用border设置两个柱形图之间的间距
            borderColor: 'rgba(255, 255, 255, 1)', //同背景色一样
            color: {
               x: 1,
               y: 0,
               x2: 0,
               y2: 0,
               type: "linear",
               global: false,
               colorStops: [
                  {
                     offset: 0,
                     color: '#4BACBF',
                  },
                  {
                     offset: .5,
                     color: '#4BACBF'
                  },
                  {
                     offset: .5,
                     color: '#5FD5EC'
                  },
                  {
                     offset: 1,
                     color: '#5FD5EC'
                  }
               ],
            },
         },
         data: [50]
      },
      {//第五节
         name: legendName[4],
         type: 'bar',
         //  barWidth:20,
         stack: 'two',
         z: 1,
         itemStyle: {
            borderWidth: 2, //用border设置两个柱形图之间的间距
            borderColor: 'rgba(255, 255, 255, 1)', //同背景色一样
            color: {
               x: 1,
               y: 0,
               x2: 0,
               y2: 0,
               type: "linear",
               global: false,
               colorStops: [
                  {
                     offset: 0,
                     color: '#DDAE41',
                  },
                  {
                     offset: .5,
                     color: '#DDAE41'
                  },
                  {
                     offset: .5,
                     color: '#FFCF5F'
                  },
                  {
                     offset: 1,
                     color: '#FFCF5F'
                  }
               ],
            },
         },
         data: [50]
      },
      {//第六节
         name: legendName[5],
         type: 'bar',
         //  barWidth:20,
         stack: 'two',
         z: 1,
         itemStyle: {
            borderWidth: 2, //用border设置两个柱形图之间的间距
            borderColor: 'rgba(255, 255, 255, 1)', //同背景色一样
            color: {
               x: 1,
               y: 0,
               x2: 0,
               y2: 0,
               type: "linear",
               global: false,
               colorStops: [
                  {
                     offset: 0,
                     color: '#8946C4',
                  },
                  {
                     offset: .5,
                     color: '#8946C4'
                  },
                  {
                     offset: .5,
                     color: '#B36FEE'
                  },
                  {
                     offset: 1,
                     color: '#B36FEE'
                  }
               ],
            },
         },
         data: [50]
      },
      {//第一节
         "name": "",
         "type": "pictorialBar",
         symbol: 'diamond',
         "symbolSize": [70, 20],
         "symbolOffset": [-0, 8],
         "z": 2,
         itemStyle: {
            color: {
               x: 1,
               y: 0,
               x2: 0,
               y2: 0,
               type: "linear",
               global: false,
               colorStops: [
                  {
                     offset: 0,
                     color: '#b0b513',
                  },
                  {
                     offset: .5,
                     color: '#b0b513'
                  },
                  {
                     offset: .5,
                     color: '#bec81a'
                  },
                  {
                     offset: 1,
                     color: '#dcdc3c'
                  }
               ],
            },
         },
         "data": [1]
      },
      {//第二节
         "name": "",
         "type": "pictorialBar",
         symbol: 'diamond',
         "symbolSize": [70, 20],
         "symbolOffset": [-0, -102],
         "z": 4,
         itemStyle: {
            color: {
               x: 1,
               y: 0,
               x2: 0,
               y2: 0,
               type: "linear",
               global: false,
               colorStops: [
                  {
                     offset: 0,
                     color: '#2450F0',
                  },
                  {
                     offset: .5,
                     color: '#2450F0'
                  },
                  {
                     offset: .5,
                     color: '#2FCAFD'
                  },
                  {
                     offset: 1,
                     color: '#2450F1'
                  }
               ],
            },
         },
         "data": [1]
      },
      {//第三节
         "name": "",
         "type": "pictorialBar",
         symbol: 'diamond',
         "symbolSize": [70, 20],
         "symbolOffset": [-0, -213],
         "z": 6,
         itemStyle: {
            color: {
               x: 1,
               y: 0,
               x2: 0,
               y2: 0,
               type: "linear",
               global: false,
               colorStops: [
                  {
                     offset: 0,
                     color: '#C24D59',
                  },
                  {
                     offset: .5,
                     color: '#C24D59'
                  },
                  {
                     offset: .5,
                     color: '#F59DA6'
                  },
                  {
                     offset: 1,
                     color: '#F59DA6'
                  }
               ],
            },
         },
         "data": [1]
      },
      {//第四节
         "name": "",
         "type": "pictorialBar",
         symbol: 'diamond',
         "symbolSize": [70, 20],
         "symbolOffset": [-0, -324],
         "z": 8,
         itemStyle: {
            color: {
               x: 1,
               y: 0,
               x2: 0,
               y2: 0,
               type: "linear",
               global: false,
               colorStops: [
                  {
                     offset: 0,
                     color: '#4BACBF',
                  },
                  {
                     offset: .5,
                     color: '#4BACBF'
                  },
                  {
                     offset: .5,
                     color: '#5FD5EC'
                  },
                  {
                     offset: 1,
                     color: '#5FD5EC'
                  }
               ],
            },
         },
         "data": [1]
      },
      {//第五节
         "name": "",
         "type": "pictorialBar",
         symbol: 'diamond',
         "symbolSize": [70, 20],
         "symbolOffset": [-0, -434],
         "z": 10,
         itemStyle: {
            color: {
               x: 1,
               y: 0,
               x2: 0,
               y2: 0,
               type: "linear",
               global: false,
               colorStops: [
                  {
                     offset: 0,
                     color: '#DDAE41',
                  },
                  {
                     offset: .5,
                     color: '#DDAE41'
                  },
                  {
                     offset: .5,
                     color: '#FFCF5F'
                  },
                  {
                     offset: 1,
                     color: '#FFCF5F'
                  }
               ],
            },
         },
         "data": [1]
      },
      {//第六节
         "name": "",
         "type": "pictorialBar",
         symbol: 'diamond',
         "symbolSize": [70, 20],
         "symbolOffset": [-0, -545],
         "z": 10,
         itemStyle: {
            color: {
               x: 1,
               y: 0,
               x2: 0,
               y2: 0,
               type: "linear",
               global: false,
               colorStops: [
                  {
                     offset: 0,
                     color: '#8946C4',
                  },
                  {
                     offset: .5,
                     color: '#8946C4'
                  },
                  {
                     offset: .5,
                     color: '#B36FEE'
                  },
                  {
                     offset: 1,
                     color: '#B36FEE'
                  }
               ],
            },
         },
         "data": [1]
      },
      {//第一节
         "name": "",
         "type": "pictorialBar",
         symbol: 'diamond',
         symbolPosition: 'end',
         "symbolSize": [70, 20],
         "symbolOffset": [-0, -7],
         "z": 3,
         itemStyle: {
            color: '#dcdc3c',
         },
         "data": [50]
      },
      {// 第二节
         "name": "",
         "type": "pictorialBar",
         symbol: 'diamond',
         symbolPosition: 'end',
         "symbolSize": [70, 20],
         "symbolOffset": [-0, -8],
         "z": 5,
         itemStyle: {
            color: '#2FCAFD',
         },
         "data": [100]
      },
      {// 第三节
         "name": "",
         "type": "pictorialBar",
         symbol: 'diamond',
         symbolPosition: 'end',
         "symbolSize": [70, 20],
         "symbolOffset": [-0, -8],
         "z": 7,
         itemStyle: {
            color: '#C24D59',
         },
         "data": [150]
      },
      {// 第四节
         "name": "",
         "type": "pictorialBar",
         symbol: 'diamond',
         symbolPosition: 'end',
         "symbolSize": [70, 20],
         "symbolOffset": [-0, -8],
         "z": 9,
         itemStyle: {
            color: '#4BACBF',
         },
         "data": [200]
      },
      {// 第五节
         "name": "",
         "type": "pictorialBar",
         symbol: 'diamond',
         symbolPosition: 'end',
         "symbolSize": [70, 20],
         "symbolOffset": [-0, -8],
         "z": 9,
         itemStyle: {
            color: '#DDAE41',
         },
         "data": [250]
      },
      {// 第六节
         "name": "",
         "type": "pictorialBar",
         symbol: 'diamond',
         symbolPosition: 'end',
         "symbolSize": [70, 20],
         "symbolOffset": [-0, -8],
         "z": 9,
         itemStyle: {
            color: '#8946C4',
         },
         "data": [300]
      },
   ]
};