Javascript Highchart:addSeries与chart.options.series

Javascript Highchart:addSeries与chart.options.series,javascript,Javascript,我继承了一个使用Highcharts的项目 以前的开发人员使用.addSeries方法将所有系列添加到正在呈现的每个图表中。从我对Highcharts的了解来看,它似乎是。addSeries真正用于动态添加数据 用于填充图表的数据来自AJAX请求。旧开发人员的方法是获取数据、渲染图表,然后使用.addSeries添加一个系列。我想最好是更新options.series,然后将整个过程传递给新的Highcharts.Chart()进行渲染,将.addSeries从等式中去掉 然而,由于我是海图新手

我继承了一个使用Highcharts的项目

以前的开发人员使用
.addSeries
方法将所有系列添加到正在呈现的每个图表中。从我对Highcharts的了解来看,它似乎是
。addSeries
真正用于动态添加数据

用于填充图表的数据来自AJAX请求。旧开发人员的方法是获取数据、渲染图表,然后使用
.addSeries
添加一个系列。我想最好是更新
options.series
,然后将整个过程传递给
新的Highcharts.Chart()
进行渲染,将
.addSeries
从等式中去掉


然而,由于我是海图新手,我希望得到一些关于更好方法的反馈

虽然你的问题表明你可能只是在寻找一个严格正确/错误答案的偏好,但你走的是一条很好的道路

从我所看到的情况来看,除非在绘制图表后,页面上的交互会触发更新图表的需要,否则使用
addSerie
的好处是添加一些可视光斑。使用
addSerie
,您的图表将在访客面前直观地绘制自己,而不是已经绘制的图表。(我相信HighCharts演示网站有一些很好的例子。)

我最近还继承了一个HighCharts项目,并通过动态解析AJAXed数据,使用动态数据生成了一个新的
HighCharts.Chart()
。好消息是,所有图表仍然具有良好的可视光斑(光斑很重要),因为它们在AJAXed数据完全加载之前不会绘制。这段代码说明了我是如何加载动态图表、动态解析JSON数据的:

   $(function () {
        var visitsChart;
        $(document).ready( function() {
            $.getJSON('/json-data-url', function(json){        
                var visitsChart = new Highcharts.Chart({
                    chart: {
                        renderTo: 'visitsContainer',
                        type: 'spline',
                    },
                    title: {
                        text: 'Test Widget'
                    },
                    series: [{
                        name: 'Speed',
                        data: [parseInt(json.visits)],
                    }],
                ...
                });     
            });   
        });
    });

我不会说谎。。。刚开始的时候,我有几分钟的时间做头发拉扯,但现在我希望我有更多的时间来处理Highcharts,因为一旦你开始工作,这会很有趣。希望这有帮助。

哦,好的。我没意识到这是造成图表本身视觉闪光的原因。我当然想把它藏起来。我所做的一点基准测试表明,使用addSeries不会增加太多开销(我一次最多可以绘制10个图表),因此我将继续使用它。谢谢