[R] wait for graph to finish plotting
David Winsemius
dwinsemius at comcast.net
Thu Oct 28 19:54:04 CEST 2010
On Oct 28, 2010, at 1:27 PM, <news at aleblanc.cotse.net> wrote:
>
> pdf(file = "~/Dropbox/phd/results/graphs/TEST%03d.pdf")
> for (dataset in
> c("breastCancer","pima","heartDisease","crx","ionosphere","votes"))
> {
> p <- eval(parse(text=paste(dataset,"Probs",sep="")))
> m <- melt(t(p))
> title <- titles[[dataset]]
> filename=paste("~/Dropbox/phd/results/
> graphs/",dataset,"Probs_barcharts.eps",sep="")
> barchart(value~X1|
> X2
> ,data
> =
> m
> ,origin
> =
> 0
> ,layout
> =c(1,10),scales=list(alternating=1,tck=c(0.6,0)),ylab="Difference
> from test probabilities",xlab="Interval",col=c(rep("black",
> 8),"red","white","blue"),main=title,ylim=c(-1,1))
> }
> dev.off()
Now you have changed plotting functions from plot and barplot over to
barchart (a Lattice function) and were not aware of FAQ 7.22:
http://cran.r-project.org/doc/FAQ/R-FAQ.html#Why-do-lattice_002ftrellis-graphics-not-work_003f
--
David.
>
>
> Tal Galili <tal.galili at gmail.com> writes:
>
>> Could you please paste the exact code you are using? (the one with
>> the pdf and
>> dev.off, outside the loop )
>>
>> ----------------Contact
>>
>> On Sat, Oct 23, 2010 at 4:53 PM, <news at aleblanc.cotse.net> wrote:
>>
>> David Winsemius <dwinsemius at comcast.net> writes:
>>
>>> On Oct 22, 2010, at 12:50 PM, <news at aleblanc.cotse.net> wrote:
>>>
>>>> Tal Galili <tal.galili at gmail.com> writes:
>>>>
>>>>> I suspect that using "dev.copy2eps" Is not going to help you here.
>>>>>
>>>>> Please try again using:
>>>>>
>>>>> pdf(...) # Check: ?pdf
>>>>> for(i in something)
>>>>> {
>>>>> plot(things)
>>>>> }
>>>>> dev.off()
>>>>>
>>>>> But give pdf() the file path.
>>>>> Make sure you can make it work with simple plots. then check it
>>>>> on
>>>>> your
>>>>> situation, and let us know if it works :)
>>>>> (I had it work with very heavy plots - so I trust it will work for
>>>>> you)
>>>>>
>>>>> (p.s: please keep cc'ing the r-help list so others will know the
>>>>> stage of your
>>>>> problem, in case others would like to add more help :) )
>>>>>
>>>>> Cheers,
>>>>> Tal
>>>>>
>>>>
>>>> The problem is that the filename changes with each iteration of the
>>>> loop, so I need to
>>>> save the graph inside the loop.
>>>> I tried this:
>>>>
>>>> for(...)
>>>> {
>>>> ...
>>>> pdf(...)
>>>> barplot(...)
>>>> }
>>>>
>>>> but I just got a load of empty graphs.
>>>
>>> Because you failed to follow Ted directions to use dev.off()
>>>
>>> pdf() just opens the file for writing, dev.off() executes the
>>> writing
>>> and closes properly.
>>>
>>> --
>>> David.
>> I just tried with dev.off() but still the same problem.
>> I tried with pdf() and dev.off() inside the loop, and with them
>> outside
>> (pdf before the loop,
>> and dev.off after). Same results each time: an empty pdf file.
>> I am using R version 2.11.1 if this makes any difference.
>> --
>> aleblanc
> Hi Tal,
>
>
> --
> aleblanc
David Winsemius, MD
West Hartford, CT
More information about the R-help
mailing list