我正在尝试使用缺少数据的时间序列创建ggplot折线图。我想在图表本身上将NA值标记为NA,但不绘制通过这些点的线(即在线上有一个中断)。以下是我迄今为止尝试过的可重现的例子。我希望图表的标签为" NA"在数字= NA的每年y = 0的正上方。
library(ggplot2)
year <- c(1990:2000)
number <- c(10, 20, 30, 40, NA, 50, 60, NA, 70, 80, 90)
data <- data.frame(year, number)
ggplot(data, aes(x = year, y = number)) +
geom_line() +
geom_text(data = subset(data, !is.na(number)),
aes(label = number),
hjust = 1,
vjust = -1) +
geom_text(data = subset(data, is.na(number)),
aes(label = "NA"))
答案 0 :(得分:2)
由于geom_text
函数从初始y
函数(这些记录为ggplot
)继承NA
位置,因此您需要明确地给出{{1}第二次y
调用中的值。
geom_text