Javascript 获取highcharts以重新设置线图的动画
我想创建一个带有按钮的highCharts页面来“重新设置”图表 最初创建序列时,我将“重画”设置为FALSE:Javascript 获取highcharts以重新设置线图的动画,javascript,jquery,css,html,highcharts,Javascript,Jquery,Css,Html,Highcharts,我想创建一个带有按钮的highCharts页面来“重新设置”图表 最初创建序列时,我将“重画”设置为FALSE: $("contain").highcharts().addSeries({ name: "filter", data: result }, false, {duration: 300000, easing: 'linear'}); 然后在整个图表上手动调用redraw()时: $("cont
$("contain").highcharts().addSeries({
name: "filter",
data: result
}, false, {duration: 300000, easing: 'linear'});
然后在整个图表上手动调用redraw()时:
$("contain").highcharts().redraw()
…图表从一开始就设置动画,但仅设置一次。在图表“在屏幕上”动画化之后,我发现除了删除然后重新添加之外,没有办法让它们从一开始就重新动画化,这对我的案例来说不是一个理想的解决方案,因为会有很多系列(行)和大量数据,因此我希望有一个更简单的解决方案(我编辑问题时看到有人回答)...
有没有办法做到这一点,或者每次我想重新设置动画时,都必须删除然后重新添加该系列
这是我先前答应过的小提琴。它使用了我不喜欢的“删除/重新添加”概念:如果你想重新激活同一个系列,你需要删除当前的一个,并将其重新绘制为一个新系列
$('#button').click(function() {
$("contain").highcharts().series[0].remove();
$("contain").highcharts().addSeries({
name:"filter",
data: result} );
});
你能在你的代码中添加一个JSFIDLE吗?我将不得不从一个更大的系统中重构它以使其在线,这是我没有在前面安装JSFIDLE的唯一原因(很多依赖项/钩子)。。。我们将尽快这样做;只是没时间了。。。我不明白为什么这被否决了(第一次否决了?!)——这是一个针对特定问题的特定问题。@BenA.Hilleli,您使用的是$.getJSON(endpoint,params,function(){})吗?这就是我刷新图表的方法。不,但如果这有效,我可以很容易地适应使用它。问题:如果您.getJSON是一个系列(线图中有1个“线”);然后,getJSON非常相同的系列(相同的数据等),整个图形是否重新绘制并重新设置动画?如果有,你有什么例子吗?我添加了一个小提琴,通过删除/读取实现了这一目标-但我希望有一个更优雅的解决方案…'谢谢。当你回答的时候,我正在澄清这个问题。我希望这样做,而不必删除和重新添加该系列(见上面的编辑问题);我想知道这是否可能。@BenA.Hilleli,我相信另一种方法是使用
$(“contain”).highcharts().series[0].setData(data,true)
,这将调用redraw()
方法。但它仍然包括读取该系列,而不是删除。如果调用时该行已经出现在屏幕上,则不会重新绘制,或者可能会重新绘制,但由于它没有首先“清除”,因此将在相同的蓝线上写入一条蓝线(实际上屏幕保持不变,没有重新激活)。Thx虽然