Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
438 views
in Technique[技术] by (71.8m points)

r - ggplot2 error "no layers in plot"

I have seen the question already asked... and solved adding stat = "identity" to geom_bar. But in my case, this does not solve anything (I still get the message "no layers in plot").

I got a simple data.frame (data3) with 2 factors (MonthNB and StationNAME) and one numerical variable (Ptot):

   MonthNB StationNAME      Ptot
   1     stationA  21.70625
   2     stationA  16.19375
   3     stationA  16.64688
   4     stationA  27.37813
   5     stationA  38.26774
   6     stationA  52.91250
   7     stationA  69.36875
   8     stationA  43.18125
   9     stationA  33.24688
  10     stationA  35.74839
  11     stationA  36.01333
  12     stationA  30.24194
   1    stationB  25.14242
   2    stationB  18.62121
   3    stationB  22.11818
   4    stationB  32.70909
   5    stationB  33.83750
   6    stationB  63.65937
   7    stationB  69.05312
   8    stationB  50.70606
   9    stationB  46.96364
  10    stationB  50.28710
  11    stationB  46.81935
  12    stationB  39.88750

I tried to plot Ptot=f(MonthNB) using:

d <- ggplot(data=data3, aes(x=MonthNB, y=Ptot, colour=StationNAME))
d + geom_line()
d
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

The error message is due to fact that you didn't save d+geom_line() as an object.

#Save ggplot() as object
d <- ggplot(data=data3, aes(x=MonthNB, y=Ptot, colour=StationNAME))

#Add to d geom_line() - this makes the plot to appear on the screen but not saved.
d + geom_line()

To save layer to object

d<-d+geom_line()
#No error message
d

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...