【问题标题】:Ignore zero values in dygraphs when standard deviation is above a certain value当标准偏差高于某个值时,忽略 dygraphs 中的零值
【发布时间】:2016-02-23 13:32:32
【问题描述】:

我正在使用 dygraphs 来显示每十分钟收集一次的天气数据。其中一个数据点是雪深(以米为单位)。偶尔深度是错误的,0米,前一个和下一个是0.9米。这是冬天的atm。我一直在现场验证 0.9 是否正确。

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

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

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

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

我在 cron 作业中每十分钟从第三方获取 xml 格式的天气数据,解析这些值并将它们存储在 postgresql 中。然后在另一个 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

【问题讨论】:

    标签: csv dygraphs standard-deviation


    【解决方案1】:

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

    最好的方法是通过 AJAX 加载数据,对其进行解析,过滤掉零,然后使用 native format 将其输入到 dygraphs。

    【讨论】:

      猜你喜欢
      • 2015-03-05
      • 1970-01-01
      • 2020-05-05
      • 2020-09-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-27
      • 1970-01-01
      相关资源
      最近更新 更多