【发布时间】:2013-05-21 00:03:59
【问题描述】:
我想突出显示 ggplot2 中的一个点(始终是最后一个点)。
我已经通过以下方式解决了大部分问题,但是存在一些问题。首先,代码的color = 'red' 部分似乎不起作用,因为该点是粉红色的。接下来,将点red 添加到图例中。
testDF <- data.frame('A' = rnorm(547), 'B' = rnorm(547),
'date' = seq(as.Date("2012-01-01"), as.Date("2013-06-30"), by = 'day'))
testDF$qtrYr <- factor(paste0('q',
as.POSIXlt(testDF$date)$mon %/% 3 + 1,
'-',
as.POSIXlt(testDF$date)$year + 1900
),
levels = c('q1-2012', 'q2-2012', 'q3-2012', 'q4-2012', 'q1-2013', 'q2-2013'),
ordered = TRUE)
gp_XY <- ggplot() +
geom_point(data = subset(testDF, testDF$date > as.Date("2012-04-01")),
aes(x = A, y = 100 * (A - B), color = qtrYr), pch = 1) +
labs(y = NULL, x = NULL) +
geom_smooth(data = subset(testDF, testDF$date > as.Date("2012-05-01")),
aes(x = A, y = 100 * (A - B), color = qtrYr),
method = 'lm', se = F, size = 1.25) +
geom_point(data = tail(testDF, 1),
aes(x = A, y = 100 * (A - B), color = 'red'), pch = 19, size = 2)
【问题讨论】:
-
把
color = 'red'放在aes()之外;像pch = 19,不是审美映射,而是设定值。 -
@baptise 可能应该是一个答案
-
无论如何它是重复的,但是这样一个常见问题,我想不出它的搜索词