4

我正在尝试构建一个图表,该图表将根据您放大的距离改变分辨率。这是您完全缩小时的样子。

替代文字 所以这看起来不错,所以当我放大时,我得到了更高分辨率的数据,我的图表看起来像这样:

替代文字 问题是当我缩小更高分辨率的数据时,并没有从图表中清除: 替代文字

图表下方的表格是表格显示 DataTable 中的内容。这就是绘图代码的样子。

var g_graph = new google.visualization.AnnotatedTimeLine(document.getElementById('graph_div_json'));
var table = new google.visualization.Table(document.getElementById('table_div_json'));
function handleQueryResponse(response){
    log("Drawing graph")
    var data = response.getDataTable()
    g_graph.draw(data, {allowRedraw:true, thickness:2, fill:50, scaleType:'maximized'})
    table.draw(data, {allowRedraw:true})
}

我试图找到一种方法来只显示 DataTable 中的数据。我曾尝试删除 allowRedraw 标志,但它会破坏缩放操作。

任何帮助将不胜感激。

谢谢

也可以看看

4

2 回答 2

0

在我看来,最好的解决方案是绘制每第 n 个数据点,具体取决于您的缩放级别。在 Google 财经图表上,缩放级别是在顶部预先确定的:1m、5m、1h、1 天、5 天等。显然这正是 Google 正在做的事情。在最大视图级别,他们正在绘制当月的点。如果您每天进行 1000 次投票(每次投票产生一个点),那么您将每获得 30,000 个点(第一个点是本月的第一个点,第 30,000 个点是最后一个点)观点)。

这些缩放级别中的每一个都将实现不同的数据点图。每个点都应该有一个精确到秒的时间戳,因此您可以轻松地根据详细程度来缩放绘图。

于 2013-02-04T16:51:43.570 回答
0

您可以删除允许重绘标志。在这种情况下,您必须手动将数据点放入数据表中

  1. 实际全数据的最新日期
  2. 实际整个数据中最过时的日期。

这将保留您的缩放操作。我认为您已经看到删除 allowRedraw 标志,但有一个小问题,闪烁整个图表。

于 2010-11-22T19:16:56.197 回答