>
> Dear Duncan
>
> Many thanks again for your help!
>
> Now I've mended my code in the following simplified form:
>
>
> pdf("filename.pdf",paper="a4",width=8,height=12,encoding="default")
> par(mfrow=c(2,2))
>
> plot(1:length(SortedDataInList1[[3]][,1]),SortedDataInList1[[3]][,4],xlim=c(1,length(SortedDataInList1[[3]][,1])),ylab="Voltage
> 1 (v)",xlab="Date/Time ind.(10 min. int.)",type="p",cex=.0001)
> plot(...)
> plot(...)
> plot(...)
> dev.off()
>
> And I think that has included all features I need but the outputs I
> got only appear to show part of the figures, e.g. the frame, values on
> x-axes (e.g. 1:length(SortedDataInList1[[3]][,1])), xlab, ylab, titles,
> subtitles are all shown. But not  values on y-axes,
> e.g. 'SortedDataInList1[[3]][,i]' for i=4,5,6... So just 4 blank frames
> with no data in the figure!
>
> Have I missed to put in some important arguments in this line??
>
>  pdf("filename.pdf",paper="a4",width=8,height=12,encoding="default")
>
>
> I have tested that the 'middle part' of my code (as shown below) works
> fine and I can get the plots as I wanted.
> ===============
>  par(mfrow=c(2,2))
> plot(1:length(SortedDataInList1[[3]][,1]),SortedDataInList1[[3]][,4],xlim=c(1,length(SortedDataInList1[[3]][,1])),ylab="Voltage
> 1 (v)",xlab="Date/Time ind.(10 min. int.)",type="p",cex=.0001)
> plot(...)
> plot(...)
> plot(...)
> ================
>
> Many many thanks!
>
> HJ
>
>
>
>
> On Fri, Jun 8, 2012 at 11:53 AM, Duncan Murdoch <murdoch.duncan@gmail.com>wrote:
>
>> On 12-06-08 6:46 AM, yhj204@googlemail.com wrote:
>>
>>> Dear Duncan
>>>
>>>
>>>
>>> Thanks a lot for your hints.
>>>
>>> As you can see from my code (just one line above the command using
>>> dev.copy) I have tried using pdf but got same problem, so I hushed it out.
>>>
>>
>> That's not the right place to put the pdf() call, it should appear before
>> any of the graphing calls.  To keep the pdf resolution, you need to plot to
>> the pdf device.
>>
>> Duncan Murdoch
>>
>>
>>
>>> Any ideas??
>>>
>>> Many thanks!
>>>
>>> HJ
>>> Sent using BlackBerry® from Orange
>>>
>>> -----Original Message-----
>>> From: Duncan Murdoch<murdoch.duncan@gmail.**com<murdoch.duncan@gmail.com>
>>> >
>>> Date: Fri, 08 Jun 2012 05:21:52
>>> To: HJ YAN<yhj204@googlemail.com>
>>> Cc: r-help@r-project.org<r-help@r-**project.org <r-help@r-project.org>>
>>> Subject: Re: [R] Resolution issue with exporting plots from R and write
>>> tables
>>>  in Latex code for producing pdf document
>>>
>>> On 12-06-07 10:08 PM, HJ YAN wrote:
>>>
>>>> Dear R users
>>>>
>>>> I am trying to exporting plots from R to an external folder, or to the
>>>> working directory, but the resolution of plots (pdf file) largely
>>>> reduced.
>>>> Any way I can get same quality as my original plots?? e.g. I tested the
>>>> plotting part using one example and obtained pretty good (/readable)
>>>> quality for each plot in the (4*4) multiple graph. But when I did the
>>>> loop
>>>> and tried to export those plots out using 'dev.copy', the quality was
>>>> not
>>>> same. I do need this loop function as there are 400 datasets so I can
>>>> not
>>>> handle them manually.
>>>>
>>>
>>> Don't use dev.copy.  Use pdf() then dev.off() to produce the plots in
>>> the first place.
>>>
>>>
>>>
>>>> Also I am using 'xtable' to write Latex code for my summary tables of
>>>> the
>>>> data (again there are 400 datasets). I saved those Latex code in a list
>>>> and
>>>> use 'sink()' to save them outside the loop function, which works ok.
>>>> But as
>>>> my table is wide, so I found that the Latex code produced by xtable can
>>>> not
>>>> fit my purpose well, e.g. I have set size to 'tiny' but the table still
>>>> too
>>>> wide. Is there an alternative package more handy to do the job? Also are
>>>> there a good way to write some hundred tables from R to Latex for
>>>> producing
>>>> pdf documents in an easier fashion?? i.e. Just realised that Latex does
>>>> not
>>>> like compiling large amount tables/figures in one go!
>>>>
>>>
>>> latex has a lot of packages for handling large tables, but it may be
>>> better to redesign your table to not be so wide.  The tables package
>>> might help with this, but it doesn't have any particular support for
>>> wide tables.
>>>
>>> Duncan Murdoch
>>>
>>>
>>>
>>>
>>>> Any advices/ideas are greatly appreciated!
>>>>
>>>>
>>>> Best wishes
>>>> HJ
>>>>
>>>>
>>>>
>>>>
>>>> Below is my code...
>>>> =====================
>>>> SumTab<-function(Data=**SortedDataInList,StartDate="**
>>>> 30/1/12",EndDate="31/05/12",**StartTime="22:50:00",EndTime="**
>>>> 23:00:00"){
>>>>    Start= chron(StartDate,StartTime , format=c(dates="d/m/y",
>>>> times="h:m:s"))
>>>>    End= chron(EndDate,EndTime , format=c(dates="d/m/y", times="h:m:s"))
>>>>    deltat<- times("00:10:00")
>>>>    TT<- seq(Start,End, by = times("00:10:00"))
>>>>    TT1 = substr(TT, 2, 18)
>>>>
>>>>
>>>>    Data1=Data
>>>>    for (i in 1:length(Data1)){
>>>>      SumTab1[[i]]= matrix(NA, nrow=5, ncol=ncol(SortedDataInList[[i]**
>>>> ])-4)
>>>>      SortedDataInList1[[i]]= matrix(NA, nrow=length(TT1),
>>>> ncol=ncol(Data1[[i]]))
>>>>
>>>> SortedDataInList1[[i]]=Data1[[**i]][match(as.character(TT1),**
>>>> as.character(Data1[[i]][,1])),**]
>>>>
>>>>
>>>>      SumTab1[[i]][1,]<-apply(**SortedDataInList1[[i]][,4:16],**2,min)
>>>>      SumTab1[[i]][2,]<-apply(**SortedDataInList1[[i]][,4:16],**2,mean)
>>>>      SumTab1[[i]][3,]<-apply(**SortedDataInList1[[i]][,4:16],**
>>>> 2,median)
>>>>      SumTab1[[i]][4,]<-apply(**SortedDataInList1[[i]][,4:16],**2,sd)
>>>>      SumTab1[[i]][5,]<-apply(**SortedDataInList1[[i]][,4:16],**2,max)
>>>>
>>>>
>>>>
>>>> colnames(SumTab1[[i]])=c("**vOL1","VOL2","VOL3","CUR1","**
>>>> CUR2","CUR3","THD1","THD2","**THD3","RPD","RPR","RAPD","**RAPR")
>>>>      rownames(SumTab1[[i]])=c("Min"**,"Mean","Standard
>>>> Deviation","Median","Max")
>>>>
>>>>
>>>> SumLax[[i]]<-xtable(SumTab1[[**i]],label=as.character(**
>>>> StationsInDir[i]),caption=as.**character(StationsInDir[i]))
>>>>
>>>>
>>>>      par(mfrow=c(4,4),oma=c(4,0,2,**0))
>>>>
>>>> plot(1:length(**SortedDataInList1[[i]][,1]),**
>>>> SortedDataInList1[[i]][,4],**xlim=c(1,length(**
>>>> SortedDataInList1[[i]][,1])),**ylab="Voltage
>>>> 1 (v)",xlab="Date/Time ind.(10 min. int.)",type="p",cex=.001)
>>>>
>>>> plot(1:length(**SortedDataInList1[[i]][,1]),**
>>>> SortedDataInList1[[i]][,5],**xlim=c(1,length(**
>>>> SortedDataInList1[[i]][,1])),**ylab="Voltage
>>>> 2 (v)",xlab="Date/Time ind.(10 min. int.)",type="p",cex=.001)
>>>>
>>>> plot(1:length(**SortedDataInList1[[i]][,1]),**
>>>> SortedDataInList1[[i]][,6],**xlim=c(1,length(**
>>>> SortedDataInList1[[i]][,1])),**ylab="Voltage
>>>> 3 (v)",xlab="Date/Time ind.(10 min. int.)",type="p",cex=.001)
>>>>
>>>> plot(1:length(**SortedDataInList1[[i]][,1]),**
>>>> SortedDataInList1[[i]][,7],**xlim=c(1,length(**
>>>> SortedDataInList1[[i]][,1])),**ylab="Current
>>>> 1 (A)",xlab="Date/Time ind.(10 min. int.)",type="p",cex=.001)
>>>>
>>>> plot(1:length(**SortedDataInList1[[i]][,1]),**
>>>> SortedDataInList1[[i]][,8],**xlim=c(1,length(**
>>>> SortedDataInList1[[i]][,1])),**ylab="Current
>>>> 2 (A)",xlab="Date/Time ind.(10 min. int.)",type="p",cex=.001)
>>>>
>>>> plot(1:length(**SortedDataInList1[[i]][,1]),**
>>>> SortedDataInList1[[i]][,9],**xlim=c(1,length(**
>>>> SortedDataInList1[[i]][,1])),**ylab="Current
>>>> 3 (A)",xlab="Date/Time ind.(10 min. int.)",type="p",cex=.001)
>>>>
>>>> plot(1:length(**SortedDataInList1[[i]][,1]),**
>>>> SortedDataInList1[[i]][,10],**xlim=c(1,length(**
>>>> SortedDataInList1[[i]][,1])),**ylab="Total
>>>> harmonic distortion 1 (%)",xlab="Date/Time ind.(10 min.
>>>> int.)",type="p",cex=.001)
>>>>
>>>> plot(1:length(**SortedDataInList1[[i]][,1]),**
>>>> SortedDataInList1[[i]][,11],**xlim=c(1,length(**
>>>> SortedDataInList1[[i]][,1])),**ylab="Total
>>>> harmonic distortion 2 (%)",xlab="Date/Time ind.(10 min.
>>>> int.)",type="p",cex=.001)
>>>>
>>>> plot(1:length(**SortedDataInList1[[i]][,1]),**
>>>> SortedDataInList1[[i]][,12],**xlim=c(1,length(**
>>>> SortedDataInList1[[i]][,1])),**ylab="Total
>>>> harmonic distortion 3 (%)",xlab="Date/Time ind.(10 min.
>>>> int.)",type="p",cex=.001)
>>>>
>>>> plot(1:length(**SortedDataInList1[[i]][,1]),**
>>>> SortedDataInList1[[i]][,13],**xlim=c(1,length(**
>>>> SortedDataInList1[[i]][,1])),**ylab="Real
>>>> power delivered  (mw)",xlab="Date/Time ind.(10 min.
>>>> int.)",type="p",cex=.001)
>>>>
>>>> plot(1:length(**SortedDataInList1[[i]][,1]),**
>>>> SortedDataInList1[[i]][,14],**xlim=c(1,length(**
>>>> SortedDataInList1[[i]][,1])),**ylab="Real
>>>> power received  (mw)",xlab="Date/Time ind.(10 min.
>>>> int.)",type="p",cex=.001)
>>>>
>>>> plot(1:length(**SortedDataInList1[[i]][,1]),**
>>>> SortedDataInList1[[i]][,15],**xlim=c(1,length(**
>>>> SortedDataInList1[[i]][,1])),**ylab="Reactive
>>>> power delivered (MVAr)",xlab="Date/Time ind.(10 min.
>>>> int.)",type="p",cex=.001)
>>>>
>>>> plot(1:length(**SortedDataInList1[[i]][,1]),**
>>>> SortedDataInList1[[i]][,16],**xlim=c(1,length(**
>>>> SortedDataInList1[[i]][,1])),**ylab="Reactive
>>>> power received (MVAr)",xlab="Date/Time ind.(10 min.
>>>> int.)",type="p",cex=.001)
>>>>      title(main=StationsInDir[i],**outer=TRUE,cex.main=2.0)
>>>>      mtext(side=1,Start, outer = TRUE, line=0,cex = 0.6)
>>>>      mtext(side=1,End, outer = TRUE, line=2,cex = 0.6)
>>>>
>>>>
>>>>      #pdf(paste(as.character(**StationsInDir[i]),".pdf"))
>>>>      dev.copy(pdf,file=paste(as.**character(StationsInDir[i]),".**
>>>> pdf"))
>>>>      dev.off()
>>>>
>>>>    }
>>>> }
>>>>
>>>>        [[alternative HTML version deleted]]
>>>>
>>>> ______________________________**________________
>>>> R-help@r-project.org mailing list
>>>> https://stat.ethz.ch/mailman/**listinfo/r-help<https://stat.ethz.ch/mailman/listinfo/r-help>
>>>> PLEASE do read the posting guide http://www.R-project.org/**
>>>> posting-guide.html <http://www.r-project.org/posting-guide.html>
>>>> and provide commented, minimal, self-contained, reproducible code.
>>>>
>>>
>>>
>>
>

	[[alternative HTML version deleted]]

