Echarts之双横向柱状对比图

需求:
在这里插入图片描述
鼠标移入:
在这里插入图片描述

1、容器:

 <div id="bar" style="width: 700px; height: 380px; background: rgba(2, 15, 43, 0.7)"></div>

2、在methods中:

methods:{
      initChart() {
      let manData = [100, 200, 300, 400, 500];
      let womanData = [100, 200, 300, 400, 500];
      let option = {
        // color:colors,
        tooltip: {
          show: true,
          trigger: "axis",
          axisPointer: {
            type: "shadow",
          },
          formatter: function (params) {
            // console.log("1222", params);
            return (
              '<span style="font-size: 20px;font-weight: bold;font-family: SourceHanSansCN;">' +
              params[0].seriesName +
              "</span>" +
              "<br/>" +
              params[0].marker +
              '<span style="color:' +
              params[0].color +
              ';font-size: 20px;font-weight: bold;font-family: SourceHanSansCN;">' +
              "\n" +
              params[0].name +
              "岁: " +
              params[0].value +
              "人" +
              "</span>"
            );
          },
        },
        legend: {
          left: "42%", //图例距离左边的距离
          top: "6%",
          textStyle: {
            // 图例文字样式  隐藏文字
            color: "transparent",
          },
          selectedMode: false,
          itemWidth: 15,
          itemHeight: 32, //图例宽高
          itemGap: 90, //图例的间隔
          data: [
            {
              name: "男",
              // icon: `image://${man}`,
              icon:
                "image://data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAfCAMAAAAP3mfjAAAAvVBMVEUAAABAgP9Vqv9Jkv9Vqv9Gov9Onf9JpP9Om/9Mof9SnP9Nm/9Mn/9Onf9Rm/9Rnf9Nn/9OnP9On/tRnvxNnvxQnfxQnvxQnvxOnvxOnf1Pnv1Pnv1Qnv1Pnv1Pnf1Pnv1Pnv1On/1Qnv1Pnv1Onv1On/1Qnv5Qnv5Pnv5Pn/5Qnv5PnvxOnvxPnvxPnvxPnv1Pnv1Pnv1Onv1Pnv1Pnv1Pnv1Pnv1Pnv1Pnv1Pnv1Pnv1Pnv1Pnv1Pnv1Pnv3hJDdrAAAAPnRSTlMABAYHCQsNDhceHyElJykvOD5ITE9WWVxfaHF0g4SFi46PkJGWnKqwuLm9wsPHy87S1d3g4+ju7/T19vf4+zNjKZEAAACXSURBVBjTxdBFEgJBEETRxN3d3Rtr3P79j8WGaeYARPBX9Ta5KEmSMp1+Qd/yD6D59RrgHnE+A5B1ngOcQ87pAzwrvsForZF0d3trrbXW7icJSeENrlNKauFrKi39vko7LpePjiDtMObj8T9smHnucZNyw4yB4xaI90qSJANmDHgf+LVXYEbw8jyAbhkWnoP1akDFRkyS3hKPQR3ayj/hAAAAAElFTkSuQmCC",
            },
            {
              name: "女",
              // icon: `image://${woman}`,
              icon:
                "image://data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAiCAMAAABhn6n1AAABGlBMVEUAAAD/AAD/VVX/VVX/SUn/YGD/Zmb/YmL/VVX/Wlr/Xl7/WVn/VVX/Xl7/WFj/V1f/W1v5WVn6XFz6Wlr6W1v6WFj7WVn7WVn7WVn7WVn7W1v7WVn8Wlr8Wlr8W1v8Wlr8W1v8W1v8W1v9W1v9WVn9Wlr9Wlr9W1v9W1v9WVn9Wlr9WVn9Wlr7Wlr7W1v7Wlr7W1v7WVn7Wlr8W1v8Wlr8W1v8WVn8Wlr8WVn8W1v8Wlr8Wlr8Wlr8Wlr8Wlr8W1v8Wlr8Wlr8WVn8Wlr8W1v8Wlr9Wlr9Wlr9Wlr9Wlr7W1v7Wlr8Wlr8Wlr8Wlr8W1v8Wlr8Wlr8Wlr8Wlr8Wlr8Wlr8Wlr8Wlr8Wlr8Wlr8Wlr8Wlr8Wlr8WlrVqYT9AAAAXXRSTlMAAQMGBwgKDQ8RExQVGyAjKi4yMzU3OTxCRUZIT1VaXl9iZWttbm9wc3V6e32AhIWKjJGVlpidn6Cjpaiqr7C0u72/w8XHzc/S1Nba2+Hl5+jp6+3w8/b3+Pn6/P2iRbbvAAAA7UlEQVQoz8XQV1ICARBF0auYs44BAybEnMUcQDErCGJA5e5/G37AyOzA9/dOVVd3NQDQGp+MEUnvsz50R2BfdTsCl6oXEVhXTUUgdlj52mtu9LbxxPRMIt4S9nhJVQujtd5Vtp6XdgCW/cs8AFdev6oW780AdHy7VFWtrPjRAiT8WawNJHUCOPDmpAbpR3ehqeBGfU1+xycY0oVwSVL7WbO0GcLquymOPboNIXvuAf2bw9UQKsFWHzDbuHQKgNMGpAGayw3IA4wZyQDQEwSB5u58D4Kgs/4izeR8i/z0n+DTs6zFCCSzgyNXcwD8AmVGYKFUgvUsAAAAAElFTkSuQmCC",
            },
          ],
        },
        grid: [
          // 左
          {
            top: "22%",
            bottom: "2%",
            left: "8%",
            width: "36%",
            height: "70%",
            containLabel: true,
          },
          // 中
          {
            top: "12%",
            bottom: "2%",
            left: "58%",
            // left: "center",
            width: "50%",
            height: "84%",
          },
          // 右
          {
            top: "22%",
            bottom: "2%",
            right: "5%",
            width: "36%",
            height: "70%",
            containLabel: true,
          },
        ],
        xAxis: [
          {
            type: "value",
            inverse: true,
            show: true,
            axisLabel: {
              color: "#7e8daa",
              fontSize: "20",
              fontWeight: "bold",
              textStyle: {
                fontFamily: "BoldCondensed",
              },
            },
            splitLine: {
              // 网格线
              show: true,
              lineStyle: {
                color: ["rgba(22, 39, 60, 1)"],
                width: 1,
                type: "dotted",
              },
            },
            axisTick: {
              //y轴刻度线
              show: false,
            },
            axisLine: {
              //轴线
              // show: false,
              lineStyle: {
                color: "rgba(25, 35, 57,0.2)",
              },
            },
          },
          {
            gridIndex: 1,
            show: true,
            axisLabel: {
              color: "#7e8daa",
              fontSize: "26",
              fontWeight: "bold",
              textStyle: {
                fontFamily: "BoldCondensed",
              },
            },
            splitLine: {
              // 网格线
              show: false,
              lineStyle: {
                color: ["rgba(22, 39, 60, 1)"],
                width: 1,
                type: "dotted",
              },
            },
            axisTick: {
              //y轴刻度线
              show: false,
            },
            axisLine: {
              //轴线
              show: false,
            },
          },
          {
            gridIndex: 2,
            type: "value",
            show: true,
            axisLabel: {
              color: "#7e8daa",
              fontSize: "20",
              fontWeight: "bold",
              textStyle: {
                fontFamily: "BoldCondensed",
              },
            },
            splitLine: {
              // 网格线
              show: true,
              lineStyle: {
                color: ["rgba(22, 39, 60, 1)"],
                width: 1,
                type: "dotted",
              },
            },
            axisTick: {
              //y轴刻度线
              show: false,
            },
            axisLine: {
              //轴线
              // show: false,
              lineStyle: {
                color: "rgba(25, 35, 57,0.2)",
              },
            },
          },
        ],
        yAxis: [
          {
            axisLabel: {
              show: false,
            },
            align: "center",
            type: "category",
            axisTick: {
              //y轴刻度线
              show: false,
            },
            data: ["16-20", "21-30", "31-40", "41-50", "51-60"],
            axisLine: {
              //轴线
              // show: false,
              lineStyle: {
                color: "rgba(25, 35, 57,0.2)",
              },
            },
          },
          {
            axisLabel: {
              color: "#7e8daa",
              fontSize: "20",
              fontWeight: "bold",
              textStyle: {
                fontFamily: "BoldCondensed",
              },
            },
            gridIndex: 1,
            position: "center",
            axisLine: {
              show: false,
            },
            type: "category",
            inverse: false,
            axisTick: {
              //y轴刻度线
              show: false,
            },
            data: [
              "  (人)    ",
              "16-20  ",
              "21-30  ",
              "31-40  ",
              "41-50  ",
              "51-60  ",
              "  (岁)    ",
            ], //使用空格使文字居中
          },
          {
            gridIndex: 2,
            position: "left",
            axisLabel: {
              show: false,
            },
            type: "category",
            inverse: false,
            axisTick: {
              //y轴刻度线
              show: false,
            },
            axisLine: {
              //轴线
              // show: false,
              lineStyle: {
                color: "rgba(25, 35, 57,0.2)",
              },
            },
            data: ["16-20", "21-30", "31-40", "41-50", "51-60"],
          },
        ],
        series: [
          {
            type: "bar",
            barWidth: 15,
            name: "男",
            itemStyle: {
              color: "#4f9efd",
            },
            data: manData,
          },
          {
            type: "bar",
            barWidth: 15,
            xAxisIndex: 2,
            yAxisIndex: 2,
            name: "女",
            itemStyle: {
              color: "#fc5a5a",
            },
            data: womanData,
          },
        ],
      };
      let myChart = this.$echarts.init(
        document.getElementById("bar")
      );
      myChart.setOption(option);
      window.addEventListener("resize", function () {
        myChart.resize();
      });
    },
}

3、在mounted中调用

  mounted() {
    this.initChart();
  },

以上

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值