当标准偏差高于某个值时忽略 dygraphs 中的零值

Ignore zero values in dygraphs when standard deviation is above a certain value

我正在使用动态图表显示每十分钟收集一次的天气数据。其中一个数据点是雪深(以米为单位)。偶尔深度不对,0米,上一个和下一个是0.9米。这是冬天的自动取款机。我一直在现场验证 0.9 是否正确。

在 0.9 m 处有 47 个数据点。和一个在 0 米处。标准差约为0.13(在 FreeBSD 上使用 ministat)。

我查看了 dygraphs 文档,但找不到在标准偏差高于特定阈值时忽略 0 等值的方法。

dygraphs 上的

This 页面有三个关于如何处理标准偏差的示例,但我只想忽略 0,而不是将它与选项 errorBar 或 customBar 一起使用,并且数据不是分数。

选项 rollPeriod 不适用,因为它只是平均 x 个数据点。

我在 cron 作业中每十分钟从第三方获取 xml 格式的天气数据,解析这些值并将它们存储在 postgresql 中。然后 select 另一个 cron 作业中的最后 48 个数据点,并将数据重定向到 dygraphs 使用的 csv 文件。

如果标准偏差高于阈值,我可以让 dygraphs 忽略 0 吗?

我可以使用 ministat 或其他实用程序从上一个 cron 作业中获取标准偏差,并使用 sed/awk 从 cvs 文件中删除 0。但更喜欢 dygraphs 来做到这一点。

var g5 = new Dygraph(
    document.getElementById("snow_depth"),
    "snow.csv",
    {
        legend: 'always',
        title: 'Snødjupne',
        labels: ["", "djupne"],
        ylabel: 'Meter'
    }
);

csv 文件的前三行。

2016-02-23 01:50:00+00,0.91
2016-02-23 02:00:00+00,0
2016-02-23 02:10:00+00,0.9

您应该在绘制图表之前清理数据! dygraphs 是一个图表工具,而不是一个数据处理库。

最好的方法是通过 AJAX 加载数据,解析数据,过滤掉零,然后使用 native format.

将其输入到 dygraphs