ECharts柱状图双Y轴

ECharts官方文档:https://echarts.baidu.com/
ECharts 按需引入模块文档:https://github.com/apache/incubator-echarts/blob/master/index.js

// 按需引入 引入 ECharts 主模块
var echarts = require('echarts/lib/echarts')
// 引入柱状图
require('echarts/lib/chart/bar')
// 引入提示框、标题、legend组件
require("echarts/lib/component/tooltip");
require("echarts/lib/component/title");
require("echarts/lib/component/legend")

//全部引入
var echarts = require('echarts')
/* 
仓库state的中 Energy_percentum对象格式,(提取X轴和两个Y轴动态数据,组成对象Energy_percentum)

 Energy_percentum: {
    energy_saving: [1000, 2000, 2500, 3000, 3600, 2000, 800, 2500, 3000, 2500, 2500, 4500],
    percentage: [25, 35, 60, 50, 80, 30, 50, 52, 75, 20, 51, 30],
    month: ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月']
  },
*/
<template>
    <div id="bottom_data_bar"></div>
</template>

export default {
  data() {
    return {
      Energy_percentum: {},
    };
  },
  methods: {
    initCharts() {
      this.chart = echarts.init(document.getElementById("bottom_data_bar"));//初始化echarts实例
      this.setOption(); 	//使用指定的配置项和数据显示图表。
    },
    
    setOption() {
      this.chart.setOption({
        grid: {
          left: "40",
          right: "50"
        },
        tooltip: {
          trigger: "axis"
        },
        legend: {
          data: ["月节能量", "节能百分比"],
          textStyle: {
            color: "#B3B6BD"
          }
        },
        xAxis: [
          {
            type: "category",
            //x轴显示及刻度颜色
            axisLabel: {
              show: true,
              textStyle: {
                color: "#B8BBC2"
              }
            },
            //x轴颜色及宽度
            axisLine: {
              lineStyle: {
                color: "#71747D",
                width: 1
              }
            },
            //x轴网格样式
            splitLine: {
              show: true,
              lineStyle: {
                color: ["#626671"],
                width: 1,
                type: "solid"
              }
            },
            data: this.Energy_percentum.month   //x轴使用动态数据
          }
        ],
        yAxis: [
        //第一个Y轴配置
          {
            name: "月节能量(Kwh)",
            type: "value",
            // y轴显示及刻度颜色
            axisLabel: {
              show: true,
              textStyle: {
                color: "#B8BBC2"
              }
            },
            //y轴颜色及宽度
            axisLine: {
              lineStyle: {
                color: "#71747D",
                width: 1
              }
            }
          },
          
  		//第二Y轴配置(百分比形式)
          {
            name: "节能百分比",
            type: "value",
            min: 0,
            max: 100,
            axisLabel: {
              formatter: "{value} %"
            },
            //y轴颜色及宽度
            axisLine: {
              lineStyle: {
                color: "#71747D",
                width: 1
              }
            },
            //去除分割线
            splitLine: {
              show: false
            }
          }
        ],
        series: [
          {
            name: "月节能量",
            type: "bar",
            itemStyle: {
              normal: {
                color: "#57C181" //月节能量柱状图颜色
              }
            },
            data: this.Energy_percentum.energy_saving  	//第一个Y轴使用动态数据
          },
          {
            name: "节能百分比",
            type: "bar",
            yAxisIndex: 1,//选用那个坐标轴显示,默认为0	 	//第二个Y轴使用动态数据
            itemStyle: {
              normal: {
                color: "#2E9ED0" //节能百分比柱状图颜色
              }
            },
            data: this.Energy_percentum.percentage
          }
        ]
      });
    }
  },
  
  //因为 ECharts 初始化必须绑定 dom,所以我们只能在 vue 的 mounted 生命周期里进行初始化。
  mounted() {
    this.initCharts();
  },
  
  computed:{
  	//使用计算属性获取仓库Energy_percentum对象
    get_Energy_percentum(){
      return this.$store.state.Energy_percentum;
    }
  },
  
  watch:{
  	//监听仓库的Energy_percentum对象的值,保证该组件获取最新的值
    get_Energy_percentum(val){
      this.Energy_percentum = val;
    },
    
    //深度监听Energy_percentum对象,Energy_percentum数据一有变化就重新执行setOption函数,重绘表格
    Energy_percentum: {
      handler(newName, oldName) {
        this.setOption();
      },
      deep: true
    }
  }
};

绘制出的表格形状
在这里插入图片描述

  • 6
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ECharts中,要实现柱状图Y轴左右刻度线一致的效果,可以通过以下步骤来进行操作: 1. 首先,引入ECharts库,并创建一个容器来显示图表,可以使用官方提供的CDN链接或是本地引入ECharts库。 2. 然后,定义一个配置对象,包含图表的标题、X轴和Y轴的配置等信息。 3. 在Y轴的配置中,设置两个Y轴,分别为left和right,同时设置其刻度线的颜色和宽度等属性。 4. 在数据系列中,分别配置两个系列,分别绑定到left和right的Y轴上。 5. 最后,使用ECharts提供的setOption方法将配置应用到图表上,并渲染显示出来。 需要注意的是,在配置中需要确保两个Y轴的刻度范围一致,可以通过设置min和max属性来实现。 具体的代码示例可以参考中提供的链接,其中有详细的代码和演示效果,希望对您有所帮助。<span class="em">1</span><span class="em">2</span> #### 引用[.reference_title] - *1* [实现EChartsY轴左右刻度线一致的例子](https://download.csdn.net/download/weixin_38556737/12852047)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [1.ECharts柱状图(横向+Y轴)-部分配置项](https://blog.csdn.net/weixin_46917162/article/details/119844275)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值