<!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>