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