在项目中,有时一个图表可能多个y轴,如何实现呢?
效果如下:
4.png

1. 核心代码如下

// 三个y轴
yAxis: [{
        type: 'value',
        name: '蒸发量',
        min: 0,
        max: 250,
        position: 'right',
        axisLine: {
            lineStyle: {
                color: colors[0]
            }
        },
        axisLabel: {
            formatter: '{value} ml'
        }
    },
    {
        type: 'value',
        name: '降水量',
        min: 0,
        max: 250,
        position: 'right',
        offset: 80, // y轴位置的偏移量
        axisLine: {
            lineStyle: {
                color: colors[1]
            }
        },
        axisLabel: {
            formatter: '{value} ml'
        }
    },
    {
        type: 'value',
        name: '温度',
        min: 0,
        max: 25,
        position: 'left',
        axisLine: {
            lineStyle: {
                color: colors[2]
            }
        },
        axisLabel: {
            formatter: '{value} °C'
        }
    }
],
series: [{
        name: '蒸发量',
        type: 'bar',
        data: [2.0, 4.9, 7.0, 23.2, 25.6, 76.7, 135.6, 162.2, 32.6, 20.0, 6.4, 3.3]
    },
    {
        name: '降水量',
        type: 'bar',
        yAxisIndex: 1, // 对应的y轴的索引值(因为有多个y轴)
        data: [2.6, 5.9, 9.0, 26.4, 28.7, 70.7, 175.6, 182.2, 48.7, 18.8, 6.0, 2.3]
    },
    {
        name: '平均温度',
        type: 'bar',
        yAxisIndex: 2, // 对应y轴的索引值(因为有多个y轴)
        data: [2.0, 2.2, 3.3, 4.5, 6.3, 10.2, 20.3, 23.4, 23.0, 16.5, 12.0, 6.2]
    }
]

2. 总结

  • echarts中yAxis的配置可是是一个数组,同时在series对应的yAxisIndex索引值即可