以下代码适用于R 3.0.2
,但当我尝试在3.3.1
中运行代码时,我收到错误Error: Aesthetics must be either length 1 or the same as the data (14): x, y
。我已尝试阅读aes
上的文档,但我无法修复它。如何更新我的代码以使用3.3.1
?
library(ggplot2)
V<-c(4.1,4.9,5.78,6.83,7.79,8.93,9.82)
I<-c(4,4.92,5.8,6.86,7.82,8.93,9.86)*(1E-3)
lm0<-lm(I~V+0)
lsrl0<-function(V) lm0$coef[1]*V
ggplot(data.frame(x=c(3E-3, 10E-3)),y=c(3.5,10),aes(x)) +
stat_function(fun=lsrl0,linetype='twodash',color='blue')+
geom_point(data=data.frame(c(V,I)), aes(x = V, y = I),
shape=21,size=3.5,color='dark blue',fill='light blue')+
xlim(3,10)+theme_bw()
答案 0 :(得分:1)
这是有效的,这是所需的输出(而不是使用c(V,I)for geom_point只使用(V,I)数据帧,是否有拼写错误)?
ggplot(data.frame(x=c(3E-3, 10E-3)),y=c(3.5,10),aes(x)) +
stat_function(fun=lsrl0,linetype='twodash',color='blue')+
geom_point(data=data.frame(V,I), aes(x = V, y = I),
shape=21,size=3.5,color='dark blue',fill='light blue')+
xlim(3,10)+theme_bw()