2 回答

TA貢獻1804條經驗 獲得超8個贊
您需要使用方法兩次:addSeries
$('#btn').on('click', function() { chart.addSeries(stacks1[0], false); chart.addSeries(stacks1[1], false); chart.redraw(); });
現場演示:http://jsfiddle.net/BlackLabel/4aqn02s8/
API 參考:https://api.highcharts.com/class-reference/Highcharts.Chart#addSeries

TA貢獻1890條經驗 獲得超9個贊
addSeries 期望單個系列的配置選項作為第一個參數 - https://api.highcharts.com/class-reference/Highcharts.Chart#addSeries。
您正在嘗試添加堆棧1,其中包含兩組選項。如果分別添加兩個系列,則有效。您還可以通過將第二個參數設置為 true 來使用 addSeries 命令重繪圖表。請參閱下面的代碼/代碼段。
let stacks11 = {
linkedTo: 'yo',
name:'yo',
data: [106.4, 129.2, 144.0, 29.9, 71.5],
stack: 1,
}
let stacks12 = {
linkedTo:'yo0',
name:'yo0',
data: [148.5, 216.4, 30, 176.0, 135.6],
stack: 1,
}
let stacks2 = [{
id: 'yo',
name:'yo',
data: [29.9, 71.5, 106.4, 129.2, 144.0],
stack: 2
}, {
id:'yo0',
name:'yo0',
data: [30, 176.0, 135.6, 148.5, 216.4],
stack: 2
}]
Highcharts.chart('container', {
chart: {
type: 'column'
},
xAxis: {
categories: ['One', 'Two', 'Three', 'Four', 'Five']
},
plotOptions: {
column: {
stacking: 'normal'
}
},
series: stacks2
});
$('#btn').on('click', function(){
$('#container').highcharts().addSeries(stacks11);
$('#container').highcharts().addSeries(stacks12,true);
//$('#container').highcharts().redraw();
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://code.highcharts.com/highcharts.js"></script>
<div id="container" style="height: 400px"></div>
<button type="button" id='btn'>Click Me!</button>
添加回答
舉報