Generating R plots through Perl - Solution
Hello,
I tried what you suggested (i.e. combine the separate plot creation
commands into one command from Perl to R), and it worked. The syntax is
as follows:
$R->send(qq (xVal <- c(1,2,3,4,5,6)));
$R->send(qq (yVal <- c(3,5,2,6,1,5)));
$R->send(qq (c(pdf("C:/Test Environment/R/perlPlotTest.pdf"), plot(xVal,
yVal), dev.off())));
I appreciate your help with this, and I will look into ruby and the "r
for ruby" project for future use.
Thanks again,
Ryan
-----Original Message-----
From: Charilaos Skiadas [mailto:skiadas at hanover.edu]
Sent: Thursday, March 01, 2007 6:15 PM
To: Huckstorf, Ryan
Cc: r-help at stat.math.ethz.ch
Subject: Re: [R] Generating R plots through Perl
On Mar 1, 2007, at 6:28 PM, <Ryan.G.Huckstorf at wellsfargo.com> wrote:
First off, if you are working in perl you might want to be aware of ruby and the "r for ruby" project: http://rubyforge.org/projects/r4ruby/
Hello,
$R->send(qq (xVal <- c(1,2,3,4,5,6))); $R->send(qq (yVal <-
c(3,5,2,6,1,5))); $R->send(qq (pdf("C:/Test
Environment/R/perlPlotTest.pdf")));
$R->send(qq (plot(xVal, yVal)));
$R->send(qq (graphics.off()));
I don't really know how to write this in perl, but could you perhaps put
the last three lines all in one call to "$R->send", using dev.off
() then? Don't know if it would make a difference, but that's the only
thing I could think of. I'm guessing something like this:
$R->send(qq (pdf("C:/Test Environment/R/perlPlotTest.pdf"); plot (xVal,
yVal); dev.off()));
As the code indicates, I am using R's pdf function to create a pdf file containing the plot of xVal and yVal. I am using the graphics.off() function rather than the dev.off() function as I get an
error message of "<simpleError in dev.off(): cannot shut down device 1
(the null device)>" when dev.off() is used. Is there another way to generate and save a plot using the bridge connection that I described?
If not, what would be an efficient way of generating and saving plots from within my Perl program? Any help would be greatly appreciated. Thank you, Ryan
Haris Skiadas Department of Mathematics and Computer Science Hanover College