【发布时间】:2017-06-16 20:16:32
【问题描述】:
(之前发布过,忘记包含可重现的示例。)
我用左连接合并了两个数据框,形成了一个相当大的数据框。我现在正在尝试使用 ggplot2 绘制数据框中的两列,但其中一列似乎没有正确绘制图形。它在 x = 400 处结束,即使它有很多 x 值超过 400 的 y 值。
这是一些示例数据。这是一个较大数据框的示例,因此图表看起来会很奇怪。
irradiance <- data.frame(
lambda = c(337, 337.5, 338, 400, 400.5, 401, 401.5, 650, 650.5, 651),
date = as.Date("2016-07-19"),
Local_irrad = c(.159, .175, .182, .315, .326, .335, .342, .248, .246, .248),
Global_horizn_irradiance = c(.4942, .5295, .5682, 1.232, NA, 1.281, NA, 1.249, NA, 1.326))
lambda date Local_irrad Global_horizn_irradiance
337 7/19/2016 0.159 0.4942
337.5 7/19/2016 0.175 0.5295
338 7/19/2016 0.182 0.5682
400 7/19/2016 0.315 1.232
400.5 7/19/2016 0.326 NA
401 7/19/2016 0.335 1.281
401.5 7/19/2016 0.342 NA
650 7/19/2016 0.248 1.249
650.5 7/19/2016 0.246 NA
651 7/19/2016 0.248 1.326
有很多 NA 值,但也有很多“真实”值。也许 NA 以某种方式抛弃它?这是图表(可能与您的数据不完全相同)。如您所见,Global_horizon_irradiance 以 400 结束:
这是我的代码:
ggplot(irradiance, aes(x=lambda)) + geom_line(aes(y=Global_horizn_irradiance), color="red") + geom_line(aes(y=Local_irrad), color="blue")
【问题讨论】:
-
一行是连续的段,每个段由两个连续的非 NA 值定义,一个 NA 定义一个中断。您在 400 之后没有两个非 NA 连续值。
-
@StéphaneLaurent 是正确的。我没有意识到如果没有 2 个连续的非 NA 值,这些行会完全停止——我认为它会跳过那个特定的值,然后再继续。谢谢! Stéphane,如果您发表评论作为答案,我会接受。