[R] Plotting from functions

Joshua Wiley jwiley.psych at gmail.com
Wed Jun 1 23:30:02 CEST 2011


Hi,

Within functions, you often do need to wrap the plotting calls in
print() (you would see this if you read the FAQ).

Cheers,

Josh

On Wed, Jun 1, 2011 at 1:06 PM, Yang Zhang <yanghatespam at gmail.com> wrote:
> On Wed, Jun 1, 2011 at 1:04 PM, Yang Zhang <yanghatespam at gmail.com> wrote:
>> I can plot to png's fine when i run this directly from the top-level
>> script/console:
>>
>> png('diamonds.png');qplot(carat,price,data=diamonds);dev.off()
>>
>> But for some reason it's not working when that's in a function:
>>
>> (function(){png('diamonds.png');qplot(carat,price,data=diamonds);dev.off()})()
>>
>> I suspect this is because the qplot's return value must be "returned"
>> to the top-level, because this works:
>>
>> (function(){png('diamonds.png');qplot(carat,price,data=diamonds)})();dev.off()
>>
>> Any hints on how I can plot from within a function?  Thanks in advance.
>>
>
> Actually, just found that things work if I do:
>
> print(qplot(...))
>
> Is this just what you need to do to plot from within functions?
>
> ______________________________________________
> R-help at 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.
>



-- 
Joshua Wiley
Ph.D. Student, Health Psychology
University of California, Los Angeles
http://www.joshuawiley.com/



More information about the R-help mailing list