绘制数百万行

时间:2011-04-19 21:27:41

标签: charts rows finance

快速了解Charting。

需要: 我需要为我的客户端实现图表,客户端数据集包含数百万行。每10秒左右收集一次关于目标的数据,并且它会积累相当多的数据。我需要绘制这些数据。

我查看了Google财经部,了解他们是如何做到的,以便制作MSFT图表 http://www.google.com/finance?q=msft

看起来,在任何给定时间,他们都没有绘制所有点。 根据您选择的时间范围,选择和绘制的数据会有所不同。

我想获得一些关于如何按摩数百万行数据的输入,并准备好像谷歌那样制作图表,并指出如何使用按摩数据实现图表。

感谢 肖恩

3 个答案:

答案 0 :(得分:0)

对于股票图表,标准方法是选择(或计算)许多选项:

  1. 日期范围
  2. 间隔
  3. 图表类型
  4. 您现在可以忽略图表类型。但另外两个很重要。

    例如,如果一周内有100万个数据点。为用户提供在该周范围内图表15分钟,1小时或1天的选项。然后,您只需选择代表每个间隔开始和结束的数据点。

    例如,如果他们选择了1天,则选择每天的开盘价和收盘价。

答案 1 :(得分:0)

在谷歌财经上,魔术从数据库进入数据表,他们在最近的日期获取更多的分辨率数据,在旧日期获取更少的分辨率数据,他们使用时间线图形(我知道有一些很好的开源资料)。

例如:你从DB得到一分钟的决议,上周的一小时决议,过去6个月的一天决议等等。

答案 2 :(得分:0)

我希望你们知道你想要给客户提供什么,或者他们知道他们想要什么(可以在需求规范中正式确定。) 确定你想要的东西可以极大地改变你想要的方式。
让我们假设(但常用)场景 让我们说你想在XY上显示点(x时间y价格)  让我们说用户选择粒度。        说1秒。     用户可以选择每小时/每天(如果每天最多3/5天)  让我们说用户想要查看1天的数据 现在您知道需要生成一个返回10小时* 60分钟* 60秒刻度的查询

如果用户想要查看Days数据作为勾选,那么您可以选择查看周/月/年... 现在再次,如果用户看到一年,你只需返回(1yr * 365day)滴答点

如果用户正在更改分辨率/粒度,请更改窗口。

在一天的数据中,还有一个场景可能是10milisec tick。

在一周或更多图表上显示10millisec滴答是毫无意义的。