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>
添加回答
举报