下面的函数是出现在 Hadley Wickham 的 ggplot2 书第二版第 26 页上的函数的逐字符精确副本,但有两个例外:
- 输出分配给 p,然后绘制。
- 原文中“color =”之后的表达式是“year(date)”。
如果你取 year(economics$date),你会得到一个从 1967 年到 2015 年的数字向量,包括 1967 到 2015 年。我用 1967:2015 替换了那个表达式。结果是一个错误:
Error: Aesthetics must be either length 1 or the same as the data (574): colour
我有两个问题。
year <- function(x) as.POSIXlt(x)$year + 1900
p <- ggplot(economics, aes(unemploy / pop, uempmed)) +
geom_path(colour = "grey50") +
geom_point(aes(colour = 1967:2015))
plot(p)
- 为什么这个微不足道的改变会破坏功能?
- 为什么该功能首先起作用?(确实如此)。因为如果您查看颜色美学的文档,这里: https ://ggplot2.tidyverse.org/articles/ggplot2-specs.html它并没有说颜色美学采用数值向量或函数。