Google Visualization Annotated Time Line,删除数据点

Posted

技术标签:

【中文标题】Google Visualization Annotated Time Line,删除数据点【英文标题】:Google Visualization Annotated Time Line, removing data points 【发布时间】:2011-02-17 04:30:51 【问题描述】:

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

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

问题是当我缩小更高分辨率的数据时,不会从图表中清除:

图表下方的表格是表格显示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 标志,但它会破坏缩放操作。

任何帮助将不胜感激。

谢谢

另见

Annotated TimeLine when zoomed-out, Too Many Datapoints.

【问题讨论】:

我已经关注这个问题一年了,希望有人能给出答案。 【参考方案1】:

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

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

【讨论】:

【参考方案2】:

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

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

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

【讨论】:

是的,我做到了,这也是我决定不使用它并使用 flot 实现自定义解决方案的原因之一。

以上是关于Google Visualization Annotated Time Line,删除数据点的主要内容,如果未能解决你的问题,请参考以下文章

如何将json字符串转换为google.visualization.DataTable?

向 Google-Visualization ColumnChart 添加渐变

使用圆形边框和切片边距自定义 Google Visualization PieChart 外观

如何将Google Visualization API的日期列转换为JSON格式

Google Visualization Annotated Time Line,删除数据点

有没有办法将 Google Visualization 组织结构图导出为图像?