如何将ggplot中的非NA值绘制为时间序列数据帧?

时间:2018-03-31 23:03:23

标签: r ggplot2

我环顾四周,似乎无法为我的特定图表找到合适的解决方案。

我有以下n输出的数据框:

dput

前6位值的数据框

structure(list(Dates = structure(c(1392406020, 1392406320, 1392406620
), class = c("POSIXct", "POSIXt"), tzone = "America/New_York"), 
    Values = c(51.846, 44.508, 41.244), Anomalies = c(NA_real_, 
    NA_real_, 62.056)), .Names = c("Dates", "Values", "Anomalies"
), row.names = c(NA, 3L), class = "data.frame")

它有三列:Dates,Values和Anomalies。

异常可以是NA或具有值。

我遇到的问题是

我似乎无法仅绘制非NA值。

方法失败

                Dates Values Anomalies
1 2014-02-14 14:27:00 51.846        NA
2 2014-02-14 14:32:00 44.508        NA
3 2014-02-14 14:37:00 41.244        NA
4 2014-02-14 14:42:00 48.568        NA
5 2014-02-14 14:47:00 46.714        NA
6 2014-02-14 14:52:00 44.986        NA

错误图表

enter image description here

我想要的输出

我想要的图表将是下面的图表,在两个峰值的极端点上显示异常。

enter image description here

PS。我没有添加整个数据集,只有三行来展示一个简单的使用场景。我的数据集由数百条记录组成,我最多会有10个异常。

提前致谢。

1 个答案:

答案 0 :(得分:1)

解决了它:

替换

geom_dotplot(aes(y=Anomalies), colour = "red")

有关:

geom_point(data=df, aes(x=Dates, y=Anomalies), colour="red",size=5, alpha=0.3)

<强>图表

enter image description here