2011-04-19 86 views
1

在制图上有个简单的问题。制图百万行

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

我抬头谷歌财经,看看他们是怎么做到的,以图表MSFT http://www.google.com/finance?q=msft

的样子,在任何给定的时间,他们不是绘制所有点。 根据您选择的时间范围,选择和绘制的数据会有所不同。

我想获得一些关于如何按摩数百万行数据,并使其准备好像谷歌那样的图表的指导,以及如何用按摩数据实现图表的指示。

感谢 肖恩

+0

请勿尝试模仿Google财经的图表。他们是迄今为止最糟糕的股票图。 – tster 2011-04-19 21:30:13

回答

0

对于股票走势图的标准的方式来做到这一点是选择(或计算)多项选择:

  1. 日期范围
  2. 间隔
  3. 图表类型

您现在可以忽略图表类型。但其他两个很重要。

例如,如果您在一周内有100万个数据点。为用户提供选项,可在15周,1小时或1天的时间范围内统计该星期的范围。然后,您只需选取代表每个区间开始和结束的数据点。

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

0

在谷歌财经魔高一尺从数据库中的数据表中,他们采取对旧日期最近的日期和分辨率较低的数据更高的分辨率的数据,他们使用时间轴图形(我知道,有一些很好的开源的东西) 。例如:你从DB获得一分钟的分辨率,上周一小时的决议,最近六个月的一天决议等等。

+0

谢谢!你能说出一些开源的东西吗? – user715993 2011-04-25 12:59:58

+0

感谢圣地亚哥对这个概念的解释。我会试试看。谢谢! – user715993 2011-04-29 16:55:00

+0

这种图形的名称是“注释时间线” – Santiago 2011-04-29 17:50:25

0

我希望你知道你想向客户提供什么,或者他们知道他们想要什么(要求规范中可以规定什么) 确定你想要给予什么可以极大地改变你想要做什么。
我们举一个假设(但通常使用的)场景 比方说ü要显示在XY(X-时间Y-价格)点 1.比方说,用户选择的粒度。 说1秒。 给选项,用户可以看到每小时/每天(如果每天再为过去的3/5天最多) 2.比方说,用户希望看到的数据 1天现在你知道你需要生成一个查询,将返回10小时60分钟* * 60秒蜱

如果用户希望看到一个天数据打勾,然后你给他看到周/月/年的选项... 现在您再次需要返回(1月* 365天)的滴答点如果用户看到一年

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

还有一种情况可能是10毫秒的数据在一天内打勾。

IT在一周或更多的图表上显示10毫秒的刻度是毫无意义的。

+0

谢谢Ajeet。我会试试看。 - 肖恩 – user715993 2011-04-29 16:54:02