• echarts如何实现一组多柱,一柱显示多组数据且每个数据显示不同颜色


    这个问题的难点在于综合,分解下来有四个问题

    1、多个柱子为一组

    2、一个柱子显示多个数据

    3、一个柱子上有多少种数据就显示多少种颜色

    4、鼠标悬浮每个柱子显示不同数据

    以上四个问题,每一个单独实现都不难,难的在于如何用到一张图上

    来看看效果图:

    每一组三根柱子分别是一班,二班,三班

    上代码:

    const labelOption = {
    	show: true,
    	position: 'insideRight'
    }
    
    const tooltipOption = {
    	trigger: 'item',
    	axisPointer: {
    		type: 'shadow'
    	},
    	formatter: '一班<br />故障:10H 20%<br />运行:20H 20%<br />暂停:30H 20%<br />离线:25H 20%'
    }
    
    const data = {
    	color: ['#F56C6C', '#FFC53A', '#7CA870', '#999999'],
    	legend: {
                data: ['故障', '暂停', '运行', '离线']
    	},
    	tooltip: {
    		trigger: 'axis',
    		axisPointer: {
    			type: 'shadow'
    		}
    	},
    	grid: {
    		left: '3%',
    		right: '4%',
    		bottom: '3%',
    		containLabel: true
    	},
    	xAxis: [
    		{
    			type: 'category',
    			data: ['冲压机床#1', '冲压机床#2', '冲压机床#3', '冲压机床#4'],
    			axisTick: {
    				alignWithLabel: true
    			}
    		}
    	],
            yAxis: [
    		{
    			type: 'value',
    			axisLabel: {
    			    formatter: '{value}%'
    			}
    		}
    	],
    					    
    	series: [
    		{
    			name: '故障',
    			type: 'bar',
    			stack: '一班',
    			label: labelOption,
    			barWidth: '10%',
    			data: [20, 30,40, 60],
    			tooltip: tooltipOption
    		},
    		{
    			name: '暂停',
    			type: 'bar',
    			stack: '一班',
    			label: labelOption,
    			barWidth: '10%',
    			data: [21, 30,40, 60],
    			tooltip: tooltipOption
    		},
    		{
    			name: '运行',
    			type: 'bar',
    			stack: '一班',
    			label: labelOption,
    			barWidth: '10%',
    			data: [22, 30,40, 60],
    			tooltip: tooltipOption
    		},
    		{
    			name: '离线',
    			type: 'bar',
    			stack: '一班',
    			label: labelOption,
    			barWidth: '10%',
    			data: [23, 30,40, 60],
    			tooltip: tooltipOption
    		},
    		{
    			name: '故障',
    			type: 'bar',
    			stack: '二班',
    			label: labelOption,
    			barWidth: '10%',
    			data: [20, 30,40, 60],
    			tooltip: tooltipOption
    		},
    		{
    			name: '暂停',
    			type: 'bar',
    			stack: '二班',
    			label: labelOption,
    			barWidth: '10%',
    			data: [21, 30,40, 60],
    			tooltip: tooltipOption
    		},
    		{
    			name: '运行',
    			type: 'bar',
    			stack: '二班',
    			label: labelOption,
    			barWidth: '10%',
    			data: [22, 30,40, 60],
    			tooltip: tooltipOption
    		},
    		{
    			name: '离线',
    			type: 'bar',
    			stack: '二班',
    			label: labelOption,
    			barWidth: '10%',
    			data: [23, 30,40, 60],
    			tooltip: tooltipOption
    		},
    		{
    			name: '故障',
    			type: 'bar',
    			stack: '三班',
    			label: labelOption,
    			barWidth: '10%',
    			data: [20, 30,40, 60],
    			tooltip: tooltipOption
    		},
    		{
    			name: '暂停',
    			type: 'bar',
    			stack: '三班',
    			label: labelOption,
    			barWidth: '10%',
    			data: [21, 30,40, 60],
    			tooltip: tooltipOption
    		},
    		{
    			name: '运行',
    			type: 'bar',
    			stack: '三班',
    			label: labelOption,
    			barWidth: '10%',
    			data: [22, 30,40, 60],
    			tooltip: tooltipOption
    		},
    		{
    			name: '离线',
    			type: 'bar',
    			stack: '三班',
    			label: labelOption,
    		        barWidth: '10%',
    			data: [23, 30,40, 60],
    			tooltip: tooltipOption
    		}
    	]
    }                                
    
    重点看stack,stack一样的数据就会堆叠在一起
  • 相关阅读:
    HiLink & LiteOS & IoT芯片 让IoT开发简单高效
    HiCar基本功能介绍
    HiCar技术概述
    docker 笔记 3
    drools规则引擎笔记 与 代码demo
    Spring Reactive Reactor WebFlux Flux Mono 是否能完全取代多线程编程 ?
    webflux demo 1
    阅后归档
    阅后归档
    POJ3252 Round Numbers(数位dp)
  • 原文地址:https://www.cnblogs.com/diantao/p/12618039.html
Copyright © 2020-2023  润新知