echarts实现蝴蝶图

 效果图如下:

option代码如下:

{
      title: {
        text: '蝴蝶图',
      },
      legend: {
        show: true,
        top: 'bottom',
        left: 'center',
        data: ["1月销量", "2月销量"],
      },
      // 蝴蝶图相当于是对称的条形柱状图,需要构建左右两个grid
      grid: [
        {
          show: false,
          left: "12%",
          // 左侧grid,距离右侧50%,保证占有一半的距离
          right: "50%",
          containLabel: false,
        },
        {
          show: false,
          right: "12%",
          // 右侧grid,距离左侧50%,保证占有一半的距离
          left: "50%",
          containLabel: false,
        },
      ],
      xAxis: [
        {
          gridIndex: 0,
          type: "value",
          // 翻转x轴
          inverse: true,
          position: "bottom",
          splitLine: {
            show: true,
          },
          name: "1月销量",
          nameLocation: "middle",
          nameGap: 30,
        },
        {
          gridIndex: 1,
          type: "value",
          // 翻转x轴
          inverse: false,
          position: "bottom",
          splitLine: {
            show: true,
          },
          name: "2月销量",
          nameLocation: "middle",
          nameGap: 30,
        },
      ],
      yAxis: [
        {
          gridIndex: 0,
          type: "category",
          position: "left",
          axisLine: {
            show: false,
          },
          axisTick: {
            show: false,
          },
          axisLabel: {
            show: true,
          },
          data: ["保时捷", "凯迪拉克", "别克", "吉普", "大众", "奔驰"],
        },
        {
          gridIndex: 1,
          type: "category",
          position: "right",
          axisLine: {
            show: false,
          },
          axisTick: {
            show: false,
          },
          axisLabel: {
            show: true,
          },
          data: ["保时捷", "凯迪拉克", "别克", "吉普", "大众", "奔驰"]
        },
      ],
      series: [
        {
          name: "1月销量",
          type: "bar",
          // 关键点,这里需要设置xAxisIndex和yAxisIndex,对应第1个grid
          xAxisIndex: 0,
          yAxisIndex: 0,
          itemStyle: {
            normal: {
              color: 'rgba(112, 147, 238, 1)',
            },
          },
          data: [{
            name: "保时捷",
            value: 12,
          },
            {
              name: "凯迪拉克",
              value: 20,
            },
            {
              name: "别克",
              value: 10,
            },
            {
              name: "吉普",
              value: 22,
            },
            {
              name: "大众",
              value: 15,
            },
            {
              name: "奔驰",
              value: 18,
            }],
        },
        {
          name: "2月销量",
          type: "bar",
          // 关键点,这里需要设置xAxisIndex和yAxisIndex,对应第2个grid
          xAxisIndex: 1,
          yAxisIndex: 1,
          itemStyle: {
            normal: {
              color: 'rgba(76, 97, 130,1)',
            },
          },
          data: [{
            name: "保时捷",
            value: 12,
          },
            {
              name: "凯迪拉克",
              value: 20,
            },
            {
              name: "别克",
              value: 10,
            },
            {
              name: "吉普",
              value: 22,
            },
            {
              name: "大众",
              value: 15,
            },
            {
              name: "奔驰",
              value: 18,
            }],
        },
      ],
      // 中间分割线
      graphic: [
        {
          type: 'rect',
          z: 100,
          left: 'center',
          top: 'middle',
          shape: {
            height: 180,
          },
          style: {
            stroke: '#000',
            lineWidth: 1,
            lineDash: [1, 2],
          }
        }
      ],
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值