Re: [R] ggplot2 will not draw a rectangle. Error: ggplot2 doesn't know how to deal with data of class XXX
Thanks to everyone on this. Both Jeff's and Rui's approach worked. It looks like they do equivalent things , that is supplying the x and y values in geom_rect. The worst of it is I think I saw an example using the NULL NULL approach and did not realise the significance of it. John Kane Kingston ON Canada -Original Message- From: jdnew...@dcn.davis.ca.us Sent: Fri, 22 Mar 2013 15:42:22 -0700 To: jrkrid...@inbox.com, sarah.gos...@gmail.com Subject: Re: [R] ggplot2 will not draw a rectangle. Error: ggplot2 doesn't know how to deal with data of class XXX ggplot(fcs,aes(x=year,y=federal.ps))+geom_line()+geom_rect(data=rectlib,aes(x=xmin,y=Inf,xmin=xmin,xmax=xmax),ymin=-Inf,ymax=Inf,fill=red,alpha=0.2) For some reason x and y must be defined as data sources for all layers. --- Jeff NewmillerThe . . Go Live... DCN:jdnew...@dcn.davis.ca.usBasics: ##.#. ##.#. Live Go... Live: OO#.. Dead: OO#.. Playing Research Engineer (Solar/BatteriesO.O#. #.O#. with /Software/Embedded Controllers) .OO#. .OO#. rocks...1k --- Sent from my phone. Please excuse my brevity. John Kane jrkrid...@inbox.com wrote: Thanks, that shows that I am not making one of my really stupid mistakes. What is really annoying is that I can find examples on the web that work just fine and I cannot se how my example is that different. I even tried changing from using as.Date() to POSIXct() and to POSIXlt in case the dates were the problem but with no luck. I think it's time for dinner here so I will have another look at it tommorrow --hopefully someone will see the problem. Thanks again. John Kane Kingston ON Canada -Original Message- From: sarah.gos...@gmail.com Sent: Fri, 22 Mar 2013 17:29:42 -0400 To: jrkrid...@inbox.com Subject: Re: [R] ggplot2 will not draw a rectangle. Error: ggplot2 doesn't know how to deal with data of class XXX I get year not found and we've exceeded my ability to debug ggplot code. I hope someone else chimes in: I'd like to know what the answer is too. Sarah On Fri, Mar 22, 2013 at 5:01 PM, John Kane jrkrid...@inbox.com wrote: Ah , thanks Sarah So that's why the error message changed! I was getting different one earlier. I had defined rect earlier and apparently, when stripping down the code I negelected to include it in the example. Renamed rect as rectlib Now what I get is Error in eval(expr, envir, enclos) : object 'federal.ps' not found which is what I was getting ealier although at one point I was getting year not found. See revised code. library(ggplot2) fcs - structure(list(year = structure(c(954478800, 986014800, 1017550800, 1049086800, 1080709200, 1112245200, 1143781200, 1175313600, 1206936000, 1238472000, 1270008000, 1301544000, 1333166400), class = c(POSIXct, POSIXt), tzone = ), federal.ps = c(211925L, 223933L, 237251L, 242737L, 244158L, 243971L, 249932L, 254622L, 263114L, 274370L, 282955L, 282352L, 278092L)), .Names = c(year, federal.ps), class = data.frame, row.names = c(NA, -13L)) rectlib - data.frame (xmin = as.POSIXct(2000-03-31, %Y-%m-%d), xmax = as.POSIXct(2006-10-31, %Y-%m-%d)) p - ggplot(fcs, aes(year, federal.ps )) + geom_line() p + geom_rect(data=rectlib, aes(xmin=xmin, xmax = xmax, ymin=-Inf, ymax = Inf), fill='red', alpha=0.2) ###===End Code== John Kane Kingston ON Canada -Original Message- From: sarah.gos...@gmail.com Sent: Fri, 22 Mar 2013 16:49:34 -0400 To: jrkrid...@inbox.com Subject: Re: [R] ggplot2 will not draw a rectangle. Error: ggplot2 doesn't know how to deal with data of class XXX Hi John, This bit of your code: geom_rect(data=rect Your reproducible example doesn't create rect, and rect() already exists, so geom_rect() is trying to treat a function as data. Sarah On Fri, Mar 22, 2013 at 4:42 PM, John Kane jrkrid...@inbox.com wrote: What am I missing? When I run the code below I get the error message Error: ggplot2 doesn't know how to deal with data of class function Googling suggests a message of Error: ggplot2 doesn't know how to deal with data of class XXX is not uncommon but I don't see why I am getting a function error unless I am using some reserved word? ##=Start Code= library(ggplot2) fcs - structure(list(year = structure(c(954478800, 986014800, 1017550800, 1049086800, 1080709200, 1112245200, 1143781200, 1175313600, 1206936000, 1238472000,
[R] ggplot2 will not draw a rectangle. Error: ggplot2 doesn't know how to deal with data of class XXX
What am I missing? When I run the code below I get the error message Error: ggplot2 doesn't know how to deal with data of class function Googling suggests a message of Error: ggplot2 doesn't know how to deal with data of class XXX is not uncommon but I don't see why I am getting a function error unless I am using some reserved word? ##=Start Code= library(ggplot2) fcs - structure(list(year = structure(c(954478800, 986014800, 1017550800, 1049086800, 1080709200, 1112245200, 1143781200, 1175313600, 1206936000, 1238472000, 1270008000, 1301544000, 1333166400), class = c(POSIXct, POSIXt), tzone = ), federal.ps = c(211925L, 223933L, 237251L, 242737L, 244158L, 243971L, 249932L, 254622L, 263114L, 274370L, 282955L, 282352L, 278092L)), .Names = c(year, federal.ps), class = data.frame, row.names = c(NA, -13L)) p - ggplot(fcs, aes(year, federal.ps )) + geom_line() p + geom_rect(data=rect, aes(xmin=xmin, xmax = xmax, ymin=-Inf, ymax = Inf), fill='red', alpha=0.2) ##=End Code== sessionInfo() R version 2.15.3 (2013-03-01) Platform: i686-pc-linux-gnu (32-bit) locale: [1] LC_CTYPE=en_CA.UTF-8 LC_NUMERIC=C [3] LC_TIME=en_CA.UTF-8LC_COLLATE=en_CA.UTF-8 [5] LC_MONETARY=en_CA.UTF-8LC_MESSAGES=en_CA.UTF-8 [7] LC_PAPER=C LC_NAME=C [9] LC_ADDRESS=C LC_TELEPHONE=C [11] LC_MEASUREMENT=en_CA.UTF-8 LC_IDENTIFICATION=C attached base packages: [1] stats graphics grDevices utils datasets methods base other attached packages: [1] ggplot2_0.9.3 loaded via a namespace (and not attached): [1] colorspace_1.2-1 dichromat_2.0-0digest_0.6.3 grid_2.15.3 [5] gtable_0.1.2 labeling_0.1 MASS_7.3-23munsell_0.4 [9] plyr_1.8 proto_0.3-10 RColorBrewer_1.0-5 reshape2_1.2.2 [13] scales_0.2.3 stringr_0.6.2 John Kane Kingston ON Canada FREE 3D EARTH SCREENSAVER - Watch the Earth right on your desktop! __ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.
Re: [R] ggplot2 will not draw a rectangle. Error: ggplot2 doesn't know how to deal with data of class XXX
Hi John, This bit of your code: geom_rect(data=rect Your reproducible example doesn't create rect, and rect() already exists, so geom_rect() is trying to treat a function as data. Sarah On Fri, Mar 22, 2013 at 4:42 PM, John Kane jrkrid...@inbox.com wrote: What am I missing? When I run the code below I get the error message Error: ggplot2 doesn't know how to deal with data of class function Googling suggests a message of Error: ggplot2 doesn't know how to deal with data of class XXX is not uncommon but I don't see why I am getting a function error unless I am using some reserved word? ##=Start Code= library(ggplot2) fcs - structure(list(year = structure(c(954478800, 986014800, 1017550800, 1049086800, 1080709200, 1112245200, 1143781200, 1175313600, 1206936000, 1238472000, 1270008000, 1301544000, 1333166400), class = c(POSIXct, POSIXt), tzone = ), federal.ps = c(211925L, 223933L, 237251L, 242737L, 244158L, 243971L, 249932L, 254622L, 263114L, 274370L, 282955L, 282352L, 278092L)), .Names = c(year, federal.ps), class = data.frame, row.names = c(NA, -13L)) p - ggplot(fcs, aes(year, federal.ps )) + geom_line() p + geom_rect(data=rect, aes(xmin=xmin, xmax = xmax, ymin=-Inf, ymax = Inf), fill='red', alpha=0.2) ##=End Code== sessionInfo() R version 2.15.3 (2013-03-01) Platform: i686-pc-linux-gnu (32-bit) locale: [1] LC_CTYPE=en_CA.UTF-8 LC_NUMERIC=C [3] LC_TIME=en_CA.UTF-8LC_COLLATE=en_CA.UTF-8 [5] LC_MONETARY=en_CA.UTF-8LC_MESSAGES=en_CA.UTF-8 [7] LC_PAPER=C LC_NAME=C [9] LC_ADDRESS=C LC_TELEPHONE=C [11] LC_MEASUREMENT=en_CA.UTF-8 LC_IDENTIFICATION=C attached base packages: [1] stats graphics grDevices utils datasets methods base other attached packages: [1] ggplot2_0.9.3 loaded via a namespace (and not attached): [1] colorspace_1.2-1 dichromat_2.0-0digest_0.6.3 grid_2.15.3 [5] gtable_0.1.2 labeling_0.1 MASS_7.3-23munsell_0.4 [9] plyr_1.8 proto_0.3-10 RColorBrewer_1.0-5 reshape2_1.2.2 [13] scales_0.2.3 stringr_0.6.2 John Kane Kingston ON Canada -- Sarah Goslee http://www.functionaldiversity.org __ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.
Re: [R] ggplot2 will not draw a rectangle. Error: ggplot2 doesn't know how to deal with data of class XXX
Ah , thanks Sarah So that's why the error message changed! I was getting different one earlier. I had defined rect earlier and apparently, when stripping down the code I negelected to include it in the example. Renamed rect as rectlib Now what I get is Error in eval(expr, envir, enclos) : object 'federal.ps' not found which is what I was getting ealier although at one point I was getting year not found. See revised code. library(ggplot2) fcs - structure(list(year = structure(c(954478800, 986014800, 1017550800, 1049086800, 1080709200, 1112245200, 1143781200, 1175313600, 1206936000, 1238472000, 1270008000, 1301544000, 1333166400), class = c(POSIXct, POSIXt), tzone = ), federal.ps = c(211925L, 223933L, 237251L, 242737L, 244158L, 243971L, 249932L, 254622L, 263114L, 274370L, 282955L, 282352L, 278092L)), .Names = c(year, federal.ps), class = data.frame, row.names = c(NA, -13L)) rectlib - data.frame (xmin = as.POSIXct(2000-03-31, %Y-%m-%d), xmax = as.POSIXct(2006-10-31, %Y-%m-%d)) p - ggplot(fcs, aes(year, federal.ps )) + geom_line() p + geom_rect(data=rectlib, aes(xmin=xmin, xmax = xmax, ymin=-Inf, ymax = Inf), fill='red', alpha=0.2) ###===End Code== John Kane Kingston ON Canada -Original Message- From: sarah.gos...@gmail.com Sent: Fri, 22 Mar 2013 16:49:34 -0400 To: jrkrid...@inbox.com Subject: Re: [R] ggplot2 will not draw a rectangle. Error: ggplot2 doesn't know how to deal with data of class XXX Hi John, This bit of your code: geom_rect(data=rect Your reproducible example doesn't create rect, and rect() already exists, so geom_rect() is trying to treat a function as data. Sarah On Fri, Mar 22, 2013 at 4:42 PM, John Kane jrkrid...@inbox.com wrote: What am I missing? When I run the code below I get the error message Error: ggplot2 doesn't know how to deal with data of class function Googling suggests a message of Error: ggplot2 doesn't know how to deal with data of class XXX is not uncommon but I don't see why I am getting a function error unless I am using some reserved word? ##=Start Code= library(ggplot2) fcs - structure(list(year = structure(c(954478800, 986014800, 1017550800, 1049086800, 1080709200, 1112245200, 1143781200, 1175313600, 1206936000, 1238472000, 1270008000, 1301544000, 1333166400), class = c(POSIXct, POSIXt), tzone = ), federal.ps = c(211925L, 223933L, 237251L, 242737L, 244158L, 243971L, 249932L, 254622L, 263114L, 274370L, 282955L, 282352L, 278092L)), .Names = c(year, federal.ps), class = data.frame, row.names = c(NA, -13L)) p - ggplot(fcs, aes(year, federal.ps )) + geom_line() p + geom_rect(data=rect, aes(xmin=xmin, xmax = xmax, ymin=-Inf, ymax = Inf), fill='red', alpha=0.2) ##=End Code== sessionInfo() R version 2.15.3 (2013-03-01) Platform: i686-pc-linux-gnu (32-bit) locale: [1] LC_CTYPE=en_CA.UTF-8 LC_NUMERIC=C [3] LC_TIME=en_CA.UTF-8LC_COLLATE=en_CA.UTF-8 [5] LC_MONETARY=en_CA.UTF-8LC_MESSAGES=en_CA.UTF-8 [7] LC_PAPER=C LC_NAME=C [9] LC_ADDRESS=C LC_TELEPHONE=C [11] LC_MEASUREMENT=en_CA.UTF-8 LC_IDENTIFICATION=C attached base packages: [1] stats graphics grDevices utils datasets methods base other attached packages: [1] ggplot2_0.9.3 loaded via a namespace (and not attached): [1] colorspace_1.2-1 dichromat_2.0-0digest_0.6.3 grid_2.15.3 [5] gtable_0.1.2 labeling_0.1 MASS_7.3-23 munsell_0.4 [9] plyr_1.8 proto_0.3-10 RColorBrewer_1.0-5 reshape2_1.2.2 [13] scales_0.2.3 stringr_0.6.2 John Kane Kingston ON Canada -- Sarah Goslee http://www.functionaldiversity.org GET FREE SMILEYS FOR YOUR IM EMAIL - Learn more at http://www.inbox.com/smileys Works with AIM®, MSN® Messenger, Yahoo!® Messenger, ICQ®, Google Talk™ and most webmails __ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.
Re: [R] ggplot2 will not draw a rectangle. Error: ggplot2 doesn't know how to deal with data of class XXX
I get year not found and we've exceeded my ability to debug ggplot code. I hope someone else chimes in: I'd like to know what the answer is too. Sarah On Fri, Mar 22, 2013 at 5:01 PM, John Kane jrkrid...@inbox.com wrote: Ah , thanks Sarah So that's why the error message changed! I was getting different one earlier. I had defined rect earlier and apparently, when stripping down the code I negelected to include it in the example. Renamed rect as rectlib Now what I get is Error in eval(expr, envir, enclos) : object 'federal.ps' not found which is what I was getting ealier although at one point I was getting year not found. See revised code. library(ggplot2) fcs - structure(list(year = structure(c(954478800, 986014800, 1017550800, 1049086800, 1080709200, 1112245200, 1143781200, 1175313600, 1206936000, 1238472000, 1270008000, 1301544000, 1333166400), class = c(POSIXct, POSIXt), tzone = ), federal.ps = c(211925L, 223933L, 237251L, 242737L, 244158L, 243971L, 249932L, 254622L, 263114L, 274370L, 282955L, 282352L, 278092L)), .Names = c(year, federal.ps), class = data.frame, row.names = c(NA, -13L)) rectlib - data.frame (xmin = as.POSIXct(2000-03-31, %Y-%m-%d), xmax = as.POSIXct(2006-10-31, %Y-%m-%d)) p - ggplot(fcs, aes(year, federal.ps )) + geom_line() p + geom_rect(data=rectlib, aes(xmin=xmin, xmax = xmax, ymin=-Inf, ymax = Inf), fill='red', alpha=0.2) ###===End Code== John Kane Kingston ON Canada -Original Message- From: sarah.gos...@gmail.com Sent: Fri, 22 Mar 2013 16:49:34 -0400 To: jrkrid...@inbox.com Subject: Re: [R] ggplot2 will not draw a rectangle. Error: ggplot2 doesn't know how to deal with data of class XXX Hi John, This bit of your code: geom_rect(data=rect Your reproducible example doesn't create rect, and rect() already exists, so geom_rect() is trying to treat a function as data. Sarah On Fri, Mar 22, 2013 at 4:42 PM, John Kane jrkrid...@inbox.com wrote: What am I missing? When I run the code below I get the error message Error: ggplot2 doesn't know how to deal with data of class function Googling suggests a message of Error: ggplot2 doesn't know how to deal with data of class XXX is not uncommon but I don't see why I am getting a function error unless I am using some reserved word? ##=Start Code= library(ggplot2) fcs - structure(list(year = structure(c(954478800, 986014800, 1017550800, 1049086800, 1080709200, 1112245200, 1143781200, 1175313600, 1206936000, 1238472000, 1270008000, 1301544000, 1333166400), class = c(POSIXct, POSIXt), tzone = ), federal.ps = c(211925L, 223933L, 237251L, 242737L, 244158L, 243971L, 249932L, 254622L, 263114L, 274370L, 282955L, 282352L, 278092L)), .Names = c(year, federal.ps), class = data.frame, row.names = c(NA, -13L)) p - ggplot(fcs, aes(year, federal.ps )) + geom_line() p + geom_rect(data=rect, aes(xmin=xmin, xmax = xmax, ymin=-Inf, ymax = Inf), fill='red', alpha=0.2) ##=End Code== sessionInfo() R version 2.15.3 (2013-03-01) Platform: i686-pc-linux-gnu (32-bit) locale: [1] LC_CTYPE=en_CA.UTF-8 LC_NUMERIC=C [3] LC_TIME=en_CA.UTF-8LC_COLLATE=en_CA.UTF-8 [5] LC_MONETARY=en_CA.UTF-8LC_MESSAGES=en_CA.UTF-8 [7] LC_PAPER=C LC_NAME=C [9] LC_ADDRESS=C LC_TELEPHONE=C [11] LC_MEASUREMENT=en_CA.UTF-8 LC_IDENTIFICATION=C attached base packages: [1] stats graphics grDevices utils datasets methods base other attached packages: [1] ggplot2_0.9.3 loaded via a namespace (and not attached): [1] colorspace_1.2-1 dichromat_2.0-0digest_0.6.3 grid_2.15.3 [5] gtable_0.1.2 labeling_0.1 MASS_7.3-23 munsell_0.4 [9] plyr_1.8 proto_0.3-10 RColorBrewer_1.0-5 reshape2_1.2.2 [13] scales_0.2.3 stringr_0.6.2 -- Sarah Goslee http://www.functionaldiversity.org __ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.
Re: [R] ggplot2 will not draw a rectangle. Error: ggplot2 doesn't know how to deal with data of class XXX
Thanks, that shows that I am not making one of my really stupid mistakes. What is really annoying is that I can find examples on the web that work just fine and I cannot se how my example is that different. I even tried changing from using as.Date() to POSIXct() and to POSIXlt in case the dates were the problem but with no luck. I think it's time for dinner here so I will have another look at it tommorrow --hopefully someone will see the problem. Thanks again. John Kane Kingston ON Canada -Original Message- From: sarah.gos...@gmail.com Sent: Fri, 22 Mar 2013 17:29:42 -0400 To: jrkrid...@inbox.com Subject: Re: [R] ggplot2 will not draw a rectangle. Error: ggplot2 doesn't know how to deal with data of class XXX I get year not found and we've exceeded my ability to debug ggplot code. I hope someone else chimes in: I'd like to know what the answer is too. Sarah On Fri, Mar 22, 2013 at 5:01 PM, John Kane jrkrid...@inbox.com wrote: Ah , thanks Sarah So that's why the error message changed! I was getting different one earlier. I had defined rect earlier and apparently, when stripping down the code I negelected to include it in the example. Renamed rect as rectlib Now what I get is Error in eval(expr, envir, enclos) : object 'federal.ps' not found which is what I was getting ealier although at one point I was getting year not found. See revised code. library(ggplot2) fcs - structure(list(year = structure(c(954478800, 986014800, 1017550800, 1049086800, 1080709200, 1112245200, 1143781200, 1175313600, 1206936000, 1238472000, 1270008000, 1301544000, 1333166400), class = c(POSIXct, POSIXt), tzone = ), federal.ps = c(211925L, 223933L, 237251L, 242737L, 244158L, 243971L, 249932L, 254622L, 263114L, 274370L, 282955L, 282352L, 278092L)), .Names = c(year, federal.ps), class = data.frame, row.names = c(NA, -13L)) rectlib - data.frame (xmin = as.POSIXct(2000-03-31, %Y-%m-%d), xmax = as.POSIXct(2006-10-31, %Y-%m-%d)) p - ggplot(fcs, aes(year, federal.ps )) + geom_line() p + geom_rect(data=rectlib, aes(xmin=xmin, xmax = xmax, ymin=-Inf, ymax = Inf), fill='red', alpha=0.2) ###===End Code== John Kane Kingston ON Canada -Original Message- From: sarah.gos...@gmail.com Sent: Fri, 22 Mar 2013 16:49:34 -0400 To: jrkrid...@inbox.com Subject: Re: [R] ggplot2 will not draw a rectangle. Error: ggplot2 doesn't know how to deal with data of class XXX Hi John, This bit of your code: geom_rect(data=rect Your reproducible example doesn't create rect, and rect() already exists, so geom_rect() is trying to treat a function as data. Sarah On Fri, Mar 22, 2013 at 4:42 PM, John Kane jrkrid...@inbox.com wrote: What am I missing? When I run the code below I get the error message Error: ggplot2 doesn't know how to deal with data of class function Googling suggests a message of Error: ggplot2 doesn't know how to deal with data of class XXX is not uncommon but I don't see why I am getting a function error unless I am using some reserved word? ##=Start Code= library(ggplot2) fcs - structure(list(year = structure(c(954478800, 986014800, 1017550800, 1049086800, 1080709200, 1112245200, 1143781200, 1175313600, 1206936000, 1238472000, 1270008000, 1301544000, 1333166400), class = c(POSIXct, POSIXt), tzone = ), federal.ps = c(211925L, 223933L, 237251L, 242737L, 244158L, 243971L, 249932L, 254622L, 263114L, 274370L, 282955L, 282352L, 278092L)), .Names = c(year, federal.ps), class = data.frame, row.names = c(NA, -13L)) p - ggplot(fcs, aes(year, federal.ps )) + geom_line() p + geom_rect(data=rect, aes(xmin=xmin, xmax = xmax, ymin=-Inf, ymax = Inf), fill='red', alpha=0.2) ##=End Code== sessionInfo() R version 2.15.3 (2013-03-01) Platform: i686-pc-linux-gnu (32-bit) locale: [1] LC_CTYPE=en_CA.UTF-8 LC_NUMERIC=C [3] LC_TIME=en_CA.UTF-8LC_COLLATE=en_CA.UTF-8 [5] LC_MONETARY=en_CA.UTF-8LC_MESSAGES=en_CA.UTF-8 [7] LC_PAPER=C LC_NAME=C [9] LC_ADDRESS=C LC_TELEPHONE=C [11] LC_MEASUREMENT=en_CA.UTF-8 LC_IDENTIFICATION=C attached base packages: [1] stats graphics grDevices utils datasets methods base other attached packages: [1] ggplot2_0.9.3 loaded via a namespace (and not attached): [1] colorspace_1.2-1 dichromat_2.0-0digest_0.6.3 grid_2.15.3 [5] gtable_0.1.2 labeling_0.1 MASS_7.3-23 munsell_0.4 [9] plyr_1.8 proto_0.3-10 RColorBrewer_1.0-5 reshape2_1.2.2 [13] scales_0.2.3 stringr_0.6.2 -- Sarah Goslee
Re: [R] ggplot2 will not draw a rectangle. Error: ggplot2 doesn't know how to deal with data of class XXX
ggplot(fcs,aes(x=year,y=federal.ps))+geom_line()+geom_rect(data=rectlib,aes(x=xmin,y=Inf,xmin=xmin,xmax=xmax),ymin=-Inf,ymax=Inf,fill=red,alpha=0.2) For some reason x and y must be defined as data sources for all layers. --- Jeff NewmillerThe . . Go Live... DCN:jdnew...@dcn.davis.ca.usBasics: ##.#. ##.#. Live Go... Live: OO#.. Dead: OO#.. Playing Research Engineer (Solar/BatteriesO.O#. #.O#. with /Software/Embedded Controllers) .OO#. .OO#. rocks...1k --- Sent from my phone. Please excuse my brevity. John Kane jrkrid...@inbox.com wrote: Thanks, that shows that I am not making one of my really stupid mistakes. What is really annoying is that I can find examples on the web that work just fine and I cannot se how my example is that different. I even tried changing from using as.Date() to POSIXct() and to POSIXlt in case the dates were the problem but with no luck. I think it's time for dinner here so I will have another look at it tommorrow --hopefully someone will see the problem. Thanks again. John Kane Kingston ON Canada -Original Message- From: sarah.gos...@gmail.com Sent: Fri, 22 Mar 2013 17:29:42 -0400 To: jrkrid...@inbox.com Subject: Re: [R] ggplot2 will not draw a rectangle. Error: ggplot2 doesn't know how to deal with data of class XXX I get year not found and we've exceeded my ability to debug ggplot code. I hope someone else chimes in: I'd like to know what the answer is too. Sarah On Fri, Mar 22, 2013 at 5:01 PM, John Kane jrkrid...@inbox.com wrote: Ah , thanks Sarah So that's why the error message changed! I was getting different one earlier. I had defined rect earlier and apparently, when stripping down the code I negelected to include it in the example. Renamed rect as rectlib Now what I get is Error in eval(expr, envir, enclos) : object 'federal.ps' not found which is what I was getting ealier although at one point I was getting year not found. See revised code. library(ggplot2) fcs - structure(list(year = structure(c(954478800, 986014800, 1017550800, 1049086800, 1080709200, 1112245200, 1143781200, 1175313600, 1206936000, 1238472000, 1270008000, 1301544000, 1333166400), class = c(POSIXct, POSIXt), tzone = ), federal.ps = c(211925L, 223933L, 237251L, 242737L, 244158L, 243971L, 249932L, 254622L, 263114L, 274370L, 282955L, 282352L, 278092L)), .Names = c(year, federal.ps), class = data.frame, row.names = c(NA, -13L)) rectlib - data.frame (xmin = as.POSIXct(2000-03-31, %Y-%m-%d), xmax = as.POSIXct(2006-10-31, %Y-%m-%d)) p - ggplot(fcs, aes(year, federal.ps )) + geom_line() p + geom_rect(data=rectlib, aes(xmin=xmin, xmax = xmax, ymin=-Inf, ymax = Inf), fill='red', alpha=0.2) ###===End Code== John Kane Kingston ON Canada -Original Message- From: sarah.gos...@gmail.com Sent: Fri, 22 Mar 2013 16:49:34 -0400 To: jrkrid...@inbox.com Subject: Re: [R] ggplot2 will not draw a rectangle. Error: ggplot2 doesn't know how to deal with data of class XXX Hi John, This bit of your code: geom_rect(data=rect Your reproducible example doesn't create rect, and rect() already exists, so geom_rect() is trying to treat a function as data. Sarah On Fri, Mar 22, 2013 at 4:42 PM, John Kane jrkrid...@inbox.com wrote: What am I missing? When I run the code below I get the error message Error: ggplot2 doesn't know how to deal with data of class function Googling suggests a message of Error: ggplot2 doesn't know how to deal with data of class XXX is not uncommon but I don't see why I am getting a function error unless I am using some reserved word? ##=Start Code= library(ggplot2) fcs - structure(list(year = structure(c(954478800, 986014800, 1017550800, 1049086800, 1080709200, 1112245200, 1143781200, 1175313600, 1206936000, 1238472000, 1270008000, 1301544000, 1333166400), class = c(POSIXct, POSIXt), tzone = ), federal.ps = c(211925L, 223933L, 237251L, 242737L, 244158L, 243971L, 249932L, 254622L, 263114L, 274370L, 282955L, 282352L, 278092L)), .Names = c(year, federal.ps), class = data.frame, row.names = c(NA, -13L)) p - ggplot(fcs, aes(year, federal.ps )) + geom_line() p + geom_rect(data=rect, aes(xmin=xmin, xmax = xmax, ymin=-Inf, ymax = Inf), fill='red', alpha=0.2) ##=End Code== sessionInfo() R version 2.15.3 (2013-03-01)
Re: [R] ggplot2 will not draw a rectangle. Error: ggplot2 doesn't know how to deal with data of class XXX
Hello, You're forgeting to tell gfeom_rect that the x and y aesthetics are already set elsewhere. You must include NULL, NULL as the first two arguments: p + geom_rect(data = rectlib, aes(NULL, NULL, xmin = xmin, xmax = xmax, ymin = -Inf, ymax = Inf), fill='red', alpha=0.2) Hope this helps, Rui Barradas Em 22-03-2013 21:01, John Kane escreveu: Ah , thanks Sarah So that's why the error message changed! I was getting different one earlier. I had defined rect earlier and apparently, when stripping down the code I negelected to include it in the example. Renamed rect as rectlib Now what I get is Error in eval(expr, envir, enclos) : object 'federal.ps' not found which is what I was getting ealier although at one point I was getting year not found. See revised code. library(ggplot2) fcs - structure(list(year = structure(c(954478800, 986014800, 1017550800, 1049086800, 1080709200, 1112245200, 1143781200, 1175313600, 1206936000, 1238472000, 1270008000, 1301544000, 1333166400), class = c(POSIXct, POSIXt), tzone = ), federal.ps = c(211925L, 223933L, 237251L, 242737L, 244158L, 243971L, 249932L, 254622L, 263114L, 274370L, 282955L, 282352L, 278092L)), .Names = c(year, federal.ps), class = data.frame, row.names = c(NA, -13L)) rectlib - data.frame (xmin = as.POSIXct(2000-03-31, %Y-%m-%d), xmax = as.POSIXct(2006-10-31, %Y-%m-%d)) p - ggplot(fcs, aes(year, federal.ps )) + geom_line() p + geom_rect(data=rectlib, aes(xmin=xmin, xmax = xmax, ymin=-Inf, ymax = Inf), fill='red', alpha=0.2) ###===End Code== John Kane Kingston ON Canada -Original Message- From: sarah.gos...@gmail.com Sent: Fri, 22 Mar 2013 16:49:34 -0400 To: jrkrid...@inbox.com Subject: Re: [R] ggplot2 will not draw a rectangle. Error: ggplot2 doesn't know how to deal with data of class XXX Hi John, This bit of your code: geom_rect(data=rect Your reproducible example doesn't create rect, and rect() already exists, so geom_rect() is trying to treat a function as data. Sarah On Fri, Mar 22, 2013 at 4:42 PM, John Kane jrkrid...@inbox.com wrote: What am I missing? When I run the code below I get the error message Error: ggplot2 doesn't know how to deal with data of class function Googling suggests a message of Error: ggplot2 doesn't know how to deal with data of class XXX is not uncommon but I don't see why I am getting a function error unless I am using some reserved word? ##=Start Code= library(ggplot2) fcs - structure(list(year = structure(c(954478800, 986014800, 1017550800, 1049086800, 1080709200, 1112245200, 1143781200, 1175313600, 1206936000, 1238472000, 1270008000, 1301544000, 1333166400), class = c(POSIXct, POSIXt), tzone = ), federal.ps = c(211925L, 223933L, 237251L, 242737L, 244158L, 243971L, 249932L, 254622L, 263114L, 274370L, 282955L, 282352L, 278092L)), .Names = c(year, federal.ps), class = data.frame, row.names = c(NA, -13L)) p - ggplot(fcs, aes(year, federal.ps )) + geom_line() p + geom_rect(data=rect, aes(xmin=xmin, xmax = xmax, ymin=-Inf, ymax = Inf), fill='red', alpha=0.2) ##=End Code== sessionInfo() R version 2.15.3 (2013-03-01) Platform: i686-pc-linux-gnu (32-bit) locale: [1] LC_CTYPE=en_CA.UTF-8 LC_NUMERIC=C [3] LC_TIME=en_CA.UTF-8LC_COLLATE=en_CA.UTF-8 [5] LC_MONETARY=en_CA.UTF-8LC_MESSAGES=en_CA.UTF-8 [7] LC_PAPER=C LC_NAME=C [9] LC_ADDRESS=C LC_TELEPHONE=C [11] LC_MEASUREMENT=en_CA.UTF-8 LC_IDENTIFICATION=C attached base packages: [1] stats graphics grDevices utils datasets methods base other attached packages: [1] ggplot2_0.9.3 loaded via a namespace (and not attached): [1] colorspace_1.2-1 dichromat_2.0-0digest_0.6.3 grid_2.15.3 [5] gtable_0.1.2 labeling_0.1 MASS_7.3-23 munsell_0.4 [9] plyr_1.8 proto_0.3-10 RColorBrewer_1.0-5 reshape2_1.2.2 [13] scales_0.2.3 stringr_0.6.2 John Kane Kingston ON Canada -- Sarah Goslee http://www.functionaldiversity.org GET FREE SMILEYS FOR YOUR IM EMAIL - Learn more at http://www.inbox.com/smileys Works with AIM®, MSN® Messenger, Yahoo!® Messenger, ICQ®, Google Talk™ and most webmails __ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code. __ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help