[R-pkg-devel] Registered S3 methods from standard package
Have you checked that this actually works? Many base R functions do some preparation and call directly plot.default(), so they both bypass the method and see graphics::plot.default, not yours, see e.g. plot.ts().
It doesn't work for all plot.XXX for the reasons you describe. But my
use case was a bit more modest than that, I just want to make the
standard plotting functions for numeric data a bit nicer.
devtools::install_github("jumpingrivers/prettyB")
library(prettyB)
plot(rnorm(10), rnorm(10), xlab ="x", main = "A title")
But, if a function just calls `plot()` again, everything works, e.g.
plot.lm is fine
plot(lm(1:10 ~ rnorm(10)), which = 1)
Thanks
Georgi Boshnakov -----Original Message----- From: R-package-devel [mailto:r-package-devel-bounces at r-project.org] On Behalf Of Colin Gillespie Sent: 13 May 2019 08:22 To: r-package-devel at r-project.org Subject: [R-pkg-devel] Registered S3 methods from standard package Dear All, I'm developing a small package to make plotting methods a little bit nicer looking: https://github.com/jumpingrivers/prettyB/ The general idea is to replace plot.default() with an alternative (matching all arguments) and export. This would allow users to simply load the package and use base graphics functions as normal, but get a pretty graph. The general pattern I follow is: https://github.com/jumpingrivers/prettyB/blob/master/R/plot.R#L23 which then includes S3method(plot,default) in my NAMESPACE file. When building and checking the package I get Registered S3 methods from standard package(s) overwritten by 'prettyB': method from plot.default graphics which CRAN does not permit. Question: Is it possible to achieve the functionality I'm after (replacing the default plot.default() functions) while following the CRAN rules? Thanks Colin
______________________________________________ R-package-devel at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-package-devel