数据生成的可复制示例:
n <- 9
x <- 1:n
y <- rnorm(n)
data <- data.frame(x, y)
我知道如何使用不带ggplot2的样条线绘制数据。
plot(x, y, main = paste("spline[fun](.) "))
lines(spline(x, y))
可在此处显示图:
但是,我想用ggplot2绘制样条线。这是一个代码示例:
ggplot(aes(x = x, y = y)) + geom_point() + geom_line(spline(data))
我得到的错误是:
错误:data
必须是数据帧或fortify()
可强制执行的其他对象,而不是类为uneval的S3对象
您是否偶然将aes()
传递给data
参数?
如果我使用
,则会引发相同的错误ggplot(aes(data, x = x, y = y)) + geom_point() + geom_line(spline(data))
或
ggplot(aes(x = x, y = y)) + geom_point() + geom_line(spline(x, y))
或
ggplot(aes(x = data$x, y = data$y)) + geom_point() + geom_line(spline(data$x,data$y))
以下内容给出了不同的错误。在here中进行了探讨,但是我想绘制样条曲线,并且不确定如何将解决方案应用于我的情况。
library(dplyr)
data %>% ggplot(aes(x = x, y = y)) + geom_point() + geom_line(spline(x, y))
错误:mapping
必须由aes()
创建