ggplot2代码在3.3.x中停止工作

时间:2016-09-28 15:37:22

标签: r ggplot2

以下代码适用于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()

1 个答案:

答案 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()

enter image description here