Echarts堆疊圖 數量+百分比 顯示

<!DOCTYPE html>
<html lang="en">
	<head>
		<meta charset="UTF-8">
		<title>堆疊圖</title>
	</head>
	<body>
		<div id="container" style="width:100%;height:600px;"></div>
		<!--其他樣式自行加上即可-->
	</body>
	<script src="js/echarts-all.js"></script>
	<script type="text/javascript">
		$(document).ready(function() {

			// 基於準備好的dom,初始化echarts實例
			let myChart = echarts.init(document.getElementById('container'));
			// 指定圖表的配置項和數據
			var option = {
				color: ['#81C1DC', '#3488AD', '#00557C', '#186D94'],
				tooltip: {
					trigger: 'axis',
					axisPointer: { // 座標軸指示器,座標軸觸發有效
						type: 'shadow' // 默認爲直線,可選爲:'line' | 'shadow'
					},
					formatter: function(params) {//這裏就是控制顯示的樣式
						var relVal = params[0].name;
						var value = 0;
						for (var i = 0, l = params.length; i < l; i++) {
							value += params[i].value;
						}
						for (var i = 0, l = params.length; i < l; i++) {
              //marker 就是帶顏色的小圓圈 seriesName x軸名稱  value  y軸值 後面就是計算百分比
							relVal += '<br/>'+ params[i].marker + params[i].seriesName + '  : 數量 : '+ parseFloat(params[i].value) +', 百分比 : ' + (100 *
								parseFloat(params[i].value) / parseFloat(value)).toFixed(2) + "%";
						}
						return relVal;
					},
				},
				legend: {
					data: ['0-3天', '0-5天', '0-7天', '0-10天']
				},
				grid: {
					left: '3%',
					right: '4%',
					bottom: '3%',
					containLabel: true
				},
				xAxis: {
					type: 'category',
					data: ['週一', '週二', '週三', '週四', '週五', '週六', '週日']
				},
				yAxis: {
					type: 'value',
				},
				series: [{
						name: '0-3天',
						type: 'bar',
						stack: '總量',
						label: {
							show: true,
							position: 'insideTop'
						},
						data: [320, 302, 301, 334, 390, 330, 320]
					},
					{
						name: '0-5天',
						type: 'bar',
						stack: '總量',
						label: {
							show: true,
							position: 'insideTop'
						},
						data: [120, 132, 101, 134, 90, 230, 210]
					},
					{
						name: '0-7天',
						type: 'bar',
						stack: '總量',
						label: {
							show: true,
							position: 'insideTop'
						},
						data: [220, 182, 191, 234, 290, 330, 310]
					},
					{
						name: '0-10天',
						type: 'bar',
						stack: '總量',
						label: {
							show: true,
							position: 'insideTop'
						},
						data: [150, 212, 201, 154, 190, 330, 410]
					}
				]
			};
			// 使用剛指定的配置項和數據顯示圖表。
			myChart.setOption(option);
		});
	</script>
</html>

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章