2013-04-01 97 views
4

我在这里看到了一些建议,但似乎没有什么适用于我的情况。我也看到了一些尚未解决的类似问题。我用很多数据(大约40k)分散绘图。这真的很慢。下面的链接(基因数据 - 称为曼哈顿图)最终会加载,但速度很慢。我需要找到一种方法来优化性能。Highcharts散点图很多数据点运行速度很慢

http://ricediversity.org/test/highcharts/examples/line-ajax/index-b.htm

而且,我想更多的信息(数据字段)从我的数据文件添加到我的提示,但我不能得到那个工作要么。有什么建议么?

+0

Highcharts使用SVG绘制图。绘图中的每个“piece”都被写入SVG容器标签内的DOM中。你刚刚创建了40K个点对象。 – Mark

+0

请在链接中添加上下文,以便您的同伴用户了解它是什么以及它为什么在那里。如果目标网站无法访问或永久离线,请始终引用重要链接中最相关的部分。 –

+0

你应该看看highstock和'datagrouping'选项:http://api.highcharts.com/highstock#plotOptions.series.dataGrouping – Mark

回答

1

至于工具提示,检查出highcharts data api,具体数2在列表中。如果这不能为你削减它,你可以传入一组对象来指定你想要获得的数据。然后,在格式化程序中,很容易参考。 Here's a JSfiddle显示如何在数据阵列中引用名称。

格式化器是

formatter: function() { 
    var s = ""; 
    $.each(this.points, function (i, point) { 
     s += point.point.nameList[0]; 
    }); 
    return s; 
} 

和数据集看起来像:

data = [ ..., 
     {x: xval, y: yval, nameList: myListOfNames}, 
     ...] 

其中xvalyval是数据点的x和y值和myListOfNames是一个字符串数组。