- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
在 Highcharts 中,有 demos和 articles关于将大型数据集加载到 Highcharts 中。
我们知道,如果数据变得太大,当今的浏览器都无法做到这一点。引用这个article ,它建议使用表的聚合和分离来将数据加载到 HighCharts 中,但我认为该解决方案不符合我的需要。
我使用 mysql 来存储我的数据并且有很多表。 Highcharts 上要绘制的数据是基于时间序列的,这意味着数据是一天一次。
我需要用这个数据的几个系列集加载图表(基于标准),并且数据不能聚合到月度,因为它只需要以每日模式显示。除此之外,我必须将图表的第一个 View 设置为 All
。
不聚合数据的原因是因为用户希望看到每天的变化。有时会有不规则的数据,聚合不是最好的选择。加载的数据为1980年
将这些数据加载到 HighCharts 的最佳策略或技术是什么?
最佳答案
所以,您是说您每天都有 35 年的数据。对我来说,它是 < 13k 点。然后你有图表,例如 600px 宽。这意味着您在 1 个像素上有 20 个点。你说聚合不好,因为用户需要看到真实的数据。请问,用户将如何看到这些点,什么时候在 1px 中会有 20 个点?也许我变老了,但我看不到那些点真的很好,只是一些“肥路”。比较这些例子:http://jsfiddle.net/Fusher/4ytzuv7o/1/
只是在第二个例子中禁用了数据分组:
dataGrouping: {
enabled: false
}
当你放大第一个例子时,无论如何你都会得到真实的数据。
如果你真的不能使用dataGrouping,那么换个方案怎么样?禁用导航器和“全部”按钮,用户将只能在指定范围内缩放,如下所示:http://jsfiddle.net/Fusher/4ytzuv7o/3/
$('#container').highcharts('StockChart', {
rangeSelector: {
inputEnabled: false,
buttons: [{
type: 'month',
count: 1,
text: '1m'
}, {
type: 'month',
count: 3,
text: '3m'
}, {
type: 'month',
count: 6,
text: '6m'
}, {
type: 'ytd',
text: 'YTD'
}, {
type: 'year',
count: 1,
text: '1y'
}],
selected: 0
},
navigator: {
enabled: false
},
series: [{
name: 'AAPL',
data: data,
dataGrouping: {
enabled: false
}
}]
});
关于javascript - 在 Highcharts 中加载多个大型数据集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24852946/
我是一名优秀的程序员,十分优秀!