如何解决Highcharts图表更新功能导致数据点丢失
我用来自Google电子表格的数据和点击按钮时的图表更新功能构建了一个面积图:see fiddle
图表更新功能更改图表中显示的电子表格的列:
$(document).ready(function(){
$("#total").click(function(){
var chart = $('#container').highcharts();
chart.update({
yAxis: [{
min: -6000,max: 6000,tickPositions: [0,2000,4000,6000]
},{
min: -600,max: 600,tickPositions: [200,400,600]
}],data: {
seriesMapping: [{
x: 0,y: 1,case_bis4: 2,case_5bis14: 3,case_15bis34: 4,case_35bis59: 5,case_60bis79: 6,case_ab80: 7,death_total: 8,death_bis4: 9,death_5bis14: 10,death_15bis34: 11,death_35bis59: 12,death_60bis79: 13,death_ab80: 14
},{
x: 0,y: 8,case_total: 1,death_ab80: 14
}]
}
});
});
});
不幸的是,每次单击一个按钮,都会丢失一个数据点。出了什么问题?
解决方法
感谢您的分享。在我看来,这似乎是个错误,我在Highcharts Github问题频道上报告了该错误,您可以在该频道上关注此线程:https://github.com/highcharts/highcharts/issues/14189
据我了解,您想创建一个自定义图例,并且我认为可以通过其他方式来实现(避免进行chart.data
更新)。我的想法是遍历整个系列并隐藏或显示它们。
这是一个简单的演示:https://jsfiddle.net/BlackLabel/emyq7j94/-您可以通过单击ab80
,60 bis 79
和alle
进行测试。
每个按钮都会触发类似的功能(您可以将其另存为出色的功能):
chart.series.forEach((s,i) => {
if (i !== 5 && i !== 12) {
s.hide()
} else {
s.show()
s.update({
visible: true
},false)
}
})
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。