【发布时间】:2015-09-08 23:07:37
【问题描述】:
我想用我想要突出显示的特定点来注释等高线图(这些点存储在不同的数据集中)。当我尝试时,我得到一个错误:
错误:美学长度必须为 1,或与 dataProblems:z 长度相同
但是,当我尝试制作一个可重现的示例时,我得到了一个不同的错误:
eval(expr, envir, enclos) 中的错误:找不到对象“z”
可重现示例的代码如下:
library(mnormt)
library(dplyr)
library(ggplot2)
f <- function(x, y) {
dmnorm(x = c(x, y),
mean = c(0, 0),
varcov = diag(2))
}
f <- Vectorize(f)
xmesh <- seq(from = -3, to = 3, length.out = 100)
ymesh <- seq(from = -3, to = 3, length.out = 100)
dummy <- expand.grid(x = xmesh, y = ymesh)
dummy$z <- f(dummy$x, dummy$y)
stuff <- data_frame(x = c(0, 0, 1),
y = c(0, -1, -1),
point = c("O", "P", "Q"))
dummy %>%
ggplot(aes(x = x, y = y, z = z)) +
stat_contour(aes(color = ..level..)) +
labs(color = "density") +
geom_point(data = stuff, mapping = aes(x = x, y = y, color = point))
【问题讨论】:
-
z不在stuff数据中,因此将inherit.aes=FALSE添加到geom_point调用以修复第一个错误。然后看看会发生什么