zhuxt

描述:当前是关于Echarts图表中的 柱状图 示例。
 
            
// y轴
var yData = ["1月", "2月", "3月", "4月", "5月"] // JSON.parse(vardata.yData)
// x轴数据
var xDataYdl = [10, 20, 30, 40, 80] // JSON.parse(vardata.xDataYdl)
// x轴同比
var xDataTb = [11, 22, -33, 44, -55] //JSON.parse(vardata.xDataTb)


// 最大值
var maxNum = ''
xDataYdl.forEach(v => {
   maxNum = maxNum > v ? maxNum : v
})
var xDataMax = new Array(xDataYdl.length).fill(maxNum * 1.4)
var option = {
   backgroundColor: '#000',
   grid: {
      top: 0,
      left: 0,
      right: 30,
      bottom: 0,
      containLabel: true
   },
   xAxis: {
      type: 'value',
      axisLine: {
         show: false,
      },
      splitLine: {
         show: false,
      },
      axisLabel: {
         show: false,
      },
      axisTick: {
         show: false,
      },
   },
   yAxis: [
      {
         type: 'category',
         inverse: true,
         data: yData,
         axisLine: {
            show: false,
         },
         axisTick: {
            show: false,
         },
         axisLabel: {
            show: true,
            textStyle: {
               color: '#fff',
               fontSize: 14,
            },
         },
      },
   ],
   series: [
      {
         type: 'bar',
         barWidth: '30%',
         color: 'yellow',
         itemStyle: {
            normal: {
               label: {
                  show: true,
                  position: 'right',
                  textStyle: {
                     color: 'green',
                     fontSize: 12
                  },
                  formatter: `本期{c}万元`
               }
            }
         },
         data: xDataYdl,
         z: 1,
      },
      {
         type: 'bar',
         barWidth: '50%',
         barGap: '-135%',
         label: {
            show: true,
            position: 'right',
            fontSize: 14,
            formatter: (params) => {
               const dataIndex = params.dataIndex
               const showData = xDataTb[dataIndex]
               if (showData >= 0) {
                  return `同比{z|+${showData}%}`
               }
               return `同比{j|${showData}%}`
            },
            rich: {
               z: {
                  color: 'green'
               },
               j: {
                  color: 'red'
               }
            }
         },
         itemStyle: {
            color: 'rgba(0,0,0,0.1)',
            borderColor: 'red',
            borderWidth: 2,
         },
         data: xDataMax,
         z: 2,
      },
   ],
};