我目前有一个图表,可以通过调用将其放置在页面中

function myChart(aParameter) {
  // here is some code which queries data based on aParameter
  // and sets a variable later used for series: [...] in the chart below

  $("#mychartid").highcharts({...})
}


完成某些单选按钮的选择后,将调用此函数:

$('#productselect input[type=radio]').change(function(){
    myChart($(this).val())
      })


它可以正常工作,但效果不佳:完全重绘图表会移动页面,我需要在图表上向后滚动。

在寻找解决方案时,我找到了a good question and answers,其中提供了有关如何正确更新图表的一些详细信息(希望可以解决此问题)。建议先创建一个图表(chart = new Highcharts.Chart(chartOptions)),然后使用chart.series[0].setData(data,true);的数字来更新数据。

我缺少的一点是如何像在我的$("#mychartid").highcharts({...})上方那样在我的页面上初始放置这样的图表(使用jQuery)?

最佳答案

除了将其分配给变量之外,您仍然可以完全按原样创建图表。所以

$("#mychartid").highcharts(chartOptions);
var chart = $("#mychartid").highcharts();


然后,您可以在chart上执行所需的任何操作,包括

chart.series[0].setData(data,true);


例:


http://jsfiddle.net/3d3fuhbb/111/


**已更新以更正代码**

关于javascript - 重绘图表时如何使用jQuery?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35340438/

10-16 21:05