我继承了一个使用Highcharts的项目。
前面的开发人员使用.addSeries
方法将所有序列添加到要呈现的每个图表中。根据我对Highcharts的了解,.addSeries
似乎真的是用于动态添加数据的。
用于填充图表的数据来自AJAX请求。旧的开发人员的方法是获取数据,呈现图表,然后使用.addSeries
添加一个序列。我在想,更好的做法是更新options.series
,然后将整个过程传递给new Highcharts.Chart()
进行渲染,从而将.addSeries
从等式中去掉。
然而,由于我是Highcharts的新手,我希望得到一些关于更好的方法的反馈。
发布于 2013-02-27 06:46:46
你走在一条好的道路上,尽管你的问题表明你可能只是在寻找偏好,而不是一个严格的正确/错误的答案。
据我所知,除非您在页面上有交互,需要在绘制后更新图表,否则使用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,因为一旦你开始工作,它就会变得非常有趣。希望这能有所帮助。
https://stackoverflow.com/questions/15098749
复制相似问题