我有一些数据,我正在通过索引绘图。其中一个值只有NA。因此它不会显示在图表上,但该条目仍然存在于图例中。如何从图例中删除它?
df <- structure(list(yrmonth = structure(c(1483228800, 1483228800,
1483228800, 1485907200, 1485907200, 1485907200, 1488326400, 1488326400,
1488326400, 1491004800, 1491004800, 1491004800), class = c("POSIXct",
"POSIXt"), tzone = "UTC"), index = structure(c(1L, 3L, 5L, 1L,
3L, 5L, 1L, 3L, 5L, 1L, 3L, 5L), .Label = c("N-S", "N-S", "E-W",
"E-W", "OS"), class = "factor"), value = c(129, 141, NA, 150.5,
209, NA, 247.5, 243, NA, 223, 226.5, NA)), .Names = c("yrmonth",
"index", "value"), row.names = 31:42, class = "data.frame")
ggplot(df, aes(x=yrmonth,y=value,colour=index)) +
geom_line()
答案 0 :(得分:1)
您的示例代码在某种程度上搞砸了,但我们可以通过以下方式修复它:
df$index <- as.factor(as.character(df$index))
然后,您将有多个选项,但对于这种情况,一个简单的方法是使用na.omit
。
ggplot(na.omit(df), aes(x = yrmonth, y = value, colour = index)) +
geom_line()
请注意,这会删除所有缺少值的情况。在你的情况下,这很好,但在其他情况下,只删除你的兴趣值缺失的情况,你可以用df[!is.na(df$value),]
作为迈克。 H建议。