I see. So, if I don't care about the plot object itself, the proper incantation is plot(plot(cop1, main = "cop1 function")) Thanks again. On 21 April 2017 at 20:32, Jeff Newmiller <jdnewmil at dcn.davis.ca.us> wrote:> Your original function created the cop1 plot object but did nothing with it. It then created the cop2 plot and returned it from the function. Since you had invoked the cplot function from the interactive console, R printed that returned object automatically, which displayed the plot. > > FYI: when you want to start presenting multiple plots and/or tables together you will find that something like knitr and RMarkdown are very helpful. > -- > Sent from my phone. Please excuse my brevity. > > On April 21, 2017 11:59:28 AM PDT, George Trojan - NOAA Federal <george.trojan at noaa.gov> wrote: >>Thanks. After changing the function to >> >>cplot <- function(cop1, cop2) { >> x11() >> o <- plot(cop1, main = "cop1 function") >> print(o) >> x11() >> o <- plot(cop2, main = "cop2 function") >> print(o) >>} >> >>I see both plots. But, since "cop2 function" was plotted before, does >>it mean it is plotted twice now? Looks as a strange design. >> >>I did check the "Plain text mode" in Chrome, you should see only the >>text part. >> >>George >> >>On 21 April 2017 at 16:27, Jeff Newmiller <jdnewmil at dcn.davis.ca.us> >>wrote: >>> FAQ 7.22 >>> And don't send HTML email... you are the one making it difficult for >>us to read your question. >>> >>> -- >>> Sent from my phone. Please excuse my brevity. >>> >>> On April 21, 2017 8:27:20 AM PDT, George Trojan - NOAA Federal >><george.trojan at noaa.gov> wrote: >>>>Consider the following example: >>>> >>>>library("kdecopula") >>>>library("mvtnorm") >>>> >>>>pobs <- function(x) rank(x) / (length(x) + 1) >>>> >>>>n <- 1000 >>>> >>>>sigma1 <- diag(x = 1, 2, 2) >>>>x1 <- rmvnorm(n, sigma = sigma1) >>>>xx1 <- apply(x1, 2, pobs) >>>>cop1 <- kdecop(xx1) >>>> >>>>eps <- 0.8 >>>>sigma2 <- matrix(c(1, eps, eps, 1), ncol = 2) >>>>x2 <- rmvnorm(n, sigma = sigma2) >>>>xx2 <- apply(x2, 2, pobs) >>>>cop2 <- kdecop(xx2) >>>> >>>>x11() >>>>plot(cop1, main = "cop1 main") >>>>x11() >>>>plot(cop2, main = "cop2 main") >>>> >>>>cplot <- function(cop1, cop2) { >>>> x11() >>>> plot(cop1, main = "cop1 function") >>>> x11() >>>> plot(cop2, main = "cop2 function") >>>>} >>>> >>>>cplot(cop1, cop2) >>>> >>>>cat("Press <Enter> to quit") >>>>readLines(file("stdin"), n >>>> >>>>>>>> >>>>1) >>>>quit() >>>> >>>>When I run it with Rscript all four x11 windows pop up, however the >>one >>>>that should display "cop1 function" is blank, the wireframe is not >>>>plotted. >>>>This is R 3.3.1, on Fedora 20. >>>>I see similar behaviour on Fedora 24, R 3.3.3 when I run the code >>from >>>>RStudio (the most recent one). >>>> >>>>George >>>> >>>> [[alternative HTML version deleted]] >>>> >>>>______________________________________________ >>>>R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see >>>>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.
No... it is print(plot(cop1, main = "cop1 function")) -- Sent from my phone. Please excuse my brevity. On April 21, 2017 1:56:00 PM PDT, George Trojan - NOAA Federal <george.trojan at noaa.gov> wrote:>I see. So, if I don't care about the plot object itself, the proper >incantation is > >plot(plot(cop1, main = "cop1 function")) > >Thanks again. > >On 21 April 2017 at 20:32, Jeff Newmiller <jdnewmil at dcn.davis.ca.us> >wrote: >> Your original function created the cop1 plot object but did nothing >with it. It then created the cop2 plot and returned it from the >function. Since you had invoked the cplot function from the interactive >console, R printed that returned object automatically, which displayed >the plot. >> >> FYI: when you want to start presenting multiple plots and/or tables >together you will find that something like knitr and RMarkdown are very >helpful. >> -- >> Sent from my phone. Please excuse my brevity. >> >> On April 21, 2017 11:59:28 AM PDT, George Trojan - NOAA Federal ><george.trojan at noaa.gov> wrote: >>>Thanks. After changing the function to >>> >>>cplot <- function(cop1, cop2) { >>> x11() >>> o <- plot(cop1, main = "cop1 function") >>> print(o) >>> x11() >>> o <- plot(cop2, main = "cop2 function") >>> print(o) >>>} >>> >>>I see both plots. But, since "cop2 function" was plotted before, does >>>it mean it is plotted twice now? Looks as a strange design. >>> >>>I did check the "Plain text mode" in Chrome, you should see only the >>>text part. >>> >>>George >>> >>>On 21 April 2017 at 16:27, Jeff Newmiller <jdnewmil at dcn.davis.ca.us> >>>wrote: >>>> FAQ 7.22 >>>> And don't send HTML email... you are the one making it difficult >for >>>us to read your question. >>>> >>>> -- >>>> Sent from my phone. Please excuse my brevity. >>>> >>>> On April 21, 2017 8:27:20 AM PDT, George Trojan - NOAA Federal >>><george.trojan at noaa.gov> wrote: >>>>>Consider the following example: >>>>> >>>>>library("kdecopula") >>>>>library("mvtnorm") >>>>> >>>>>pobs <- function(x) rank(x) / (length(x) + 1) >>>>> >>>>>n <- 1000 >>>>> >>>>>sigma1 <- diag(x = 1, 2, 2) >>>>>x1 <- rmvnorm(n, sigma = sigma1) >>>>>xx1 <- apply(x1, 2, pobs) >>>>>cop1 <- kdecop(xx1) >>>>> >>>>>eps <- 0.8 >>>>>sigma2 <- matrix(c(1, eps, eps, 1), ncol = 2) >>>>>x2 <- rmvnorm(n, sigma = sigma2) >>>>>xx2 <- apply(x2, 2, pobs) >>>>>cop2 <- kdecop(xx2) >>>>> >>>>>x11() >>>>>plot(cop1, main = "cop1 main") >>>>>x11() >>>>>plot(cop2, main = "cop2 main") >>>>> >>>>>cplot <- function(cop1, cop2) { >>>>> x11() >>>>> plot(cop1, main = "cop1 function") >>>>> x11() >>>>> plot(cop2, main = "cop2 function") >>>>>} >>>>> >>>>>cplot(cop1, cop2) >>>>> >>>>>cat("Press <Enter> to quit") >>>>>readLines(file("stdin"), n >>>>> >>>>>>>>>> >>>>>1) >>>>>quit() >>>>> >>>>>When I run it with Rscript all four x11 windows pop up, however the >>>one >>>>>that should display "cop1 function" is blank, the wireframe is not >>>>>plotted. >>>>>This is R 3.3.1, on Fedora 20. >>>>>I see similar behaviour on Fedora 24, R 3.3.3 when I run the code >>>from >>>>>RStudio (the most recent one). >>>>> >>>>>George >>>>> >>>>> [[alternative HTML version deleted]] >>>>> >>>>>______________________________________________ >>>>>R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see >>>>>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.
But it works ;-). According to print.trellis help, 'plot' is an alias for 'print'. IMO, this is an abuse of overloading: same method name does totally different things. On 21 April 2017 at 21:58, Jeff Newmiller <jdnewmil at dcn.davis.ca.us> wrote:> No... it is > > print(plot(cop1, main = "cop1 function")) > > -- > Sent from my phone. Please excuse my brevity. > > On April 21, 2017 1:56:00 PM PDT, George Trojan - NOAA Federal <george.trojan at noaa.gov> wrote: >>I see. So, if I don't care about the plot object itself, the proper >>incantation is >> >>plot(plot(cop1, main = "cop1 function")) >> >>Thanks again. >> >>On 21 April 2017 at 20:32, Jeff Newmiller <jdnewmil at dcn.davis.ca.us> >>wrote: >>> Your original function created the cop1 plot object but did nothing >>with it. It then created the cop2 plot and returned it from the >>function. Since you had invoked the cplot function from the interactive >>console, R printed that returned object automatically, which displayed >>the plot. >>> >>> FYI: when you want to start presenting multiple plots and/or tables >>together you will find that something like knitr and RMarkdown are very >>helpful. >>> -- >>> Sent from my phone. Please excuse my brevity. >>> >>> On April 21, 2017 11:59:28 AM PDT, George Trojan - NOAA Federal >><george.trojan at noaa.gov> wrote: >>>>Thanks. After changing the function to >>>> >>>>cplot <- function(cop1, cop2) { >>>> x11() >>>> o <- plot(cop1, main = "cop1 function") >>>> print(o) >>>> x11() >>>> o <- plot(cop2, main = "cop2 function") >>>> print(o) >>>>} >>>> >>>>I see both plots. But, since "cop2 function" was plotted before, does >>>>it mean it is plotted twice now? Looks as a strange design. >>>> >>>>I did check the "Plain text mode" in Chrome, you should see only the >>>>text part. >>>> >>>>George >>>> >>>>On 21 April 2017 at 16:27, Jeff Newmiller <jdnewmil at dcn.davis.ca.us> >>>>wrote: >>>>> FAQ 7.22 >>>>> And don't send HTML email... you are the one making it difficult >>for >>>>us to read your question. >>>>> >>>>> -- >>>>> Sent from my phone. Please excuse my brevity. >>>>> >>>>> On April 21, 2017 8:27:20 AM PDT, George Trojan - NOAA Federal >>>><george.trojan at noaa.gov> wrote: >>>>>>Consider the following example: >>>>>> >>>>>>library("kdecopula") >>>>>>library("mvtnorm") >>>>>> >>>>>>pobs <- function(x) rank(x) / (length(x) + 1) >>>>>> >>>>>>n <- 1000 >>>>>> >>>>>>sigma1 <- diag(x = 1, 2, 2) >>>>>>x1 <- rmvnorm(n, sigma = sigma1) >>>>>>xx1 <- apply(x1, 2, pobs) >>>>>>cop1 <- kdecop(xx1) >>>>>> >>>>>>eps <- 0.8 >>>>>>sigma2 <- matrix(c(1, eps, eps, 1), ncol = 2) >>>>>>x2 <- rmvnorm(n, sigma = sigma2) >>>>>>xx2 <- apply(x2, 2, pobs) >>>>>>cop2 <- kdecop(xx2) >>>>>> >>>>>>x11() >>>>>>plot(cop1, main = "cop1 main") >>>>>>x11() >>>>>>plot(cop2, main = "cop2 main") >>>>>> >>>>>>cplot <- function(cop1, cop2) { >>>>>> x11() >>>>>> plot(cop1, main = "cop1 function") >>>>>> x11() >>>>>> plot(cop2, main = "cop2 function") >>>>>>} >>>>>> >>>>>>cplot(cop1, cop2) >>>>>> >>>>>>cat("Press <Enter> to quit") >>>>>>readLines(file("stdin"), n >>>>>> >>>>>>>>>>>> >>>>>>1) >>>>>>quit() >>>>>> >>>>>>When I run it with Rscript all four x11 windows pop up, however the >>>>one >>>>>>that should display "cop1 function" is blank, the wireframe is not >>>>>>plotted. >>>>>>This is R 3.3.1, on Fedora 20. >>>>>>I see similar behaviour on Fedora 24, R 3.3.3 when I run the code >>>>from >>>>>>RStudio (the most recent one). >>>>>> >>>>>>George >>>>>> >>>>>> [[alternative HTML version deleted]] >>>>>> >>>>>>______________________________________________ >>>>>>R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see >>>>>>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.