Inches the the default for most graphics devices, except (apparently)
the jpeg() device and friends. x11, quartz, pdf & postscript all
specify their width and height in inches by default. I have no idea
why jpeg has opted to make this non-standard.

On Mon, Mar 21, 2011 at 1:13 PM, Ben Haller <[email protected]> wrote:
>  Oh!  I thought trellis.device always took a size in pixels; certainly it 
> does for the jpeg type!  I guess it is device-dependent?  OK, I will go try 
> that.  :->
>
>  Thanks!
>
> Ben Haller
> McGill University
>
>
> On Mar 21, 2011, at 1:39 PM, Yan Zhou wrote:
>
>> I suspect the problem with the PDF device is that as in Ben's code, a 640 by 
>> 640 inches PDF is produced, and the default size of fonts is 12 points, so 
>> they are too small to be seen.
>>
>> On Mar 21, 2011, at 5:24 PM, Simon Urbanek <[email protected]> 
>> wrote:
>>
>>> Ben,
>>>
>>> On Mar 21, 2011, at 1:01 PM, Ben Haller wrote:
>>>
>>>> Hi all.  I'm trying to use lattice to make some plots with wireframe().  
>>>> Ultimately I want to output these plots to PDF files, but I can't get that 
>>>> to work.  I'm battling a number of issues.  Note the problem is not the 
>>>> lack of a print() call, I'm aware of that issue.  :->  I'm posting here 
>>>> because I imagine that the graphics device issues I am seeing are 
>>>> platform-specific.
>>>>
>>>> 1. Using device "jpeg" uses awful-looking results, apparently rendered 
>>>> with X11.  This is a bit odd, as when I was last doing this sort of thing, 
>>>> I seem to recall very similar code (which I copied and pasted from where 
>>>> it was) producing nice-looking images that were not rendered with X11.  
>>>> Did the implementation of the jpeg device on Mac change?
>>>>
>>>
>>> jpeg() does what you tell it to - see the type argument to pick the 
>>> appropriate back-end.
>>>
>>>
>>>> 2. Using the device "quartz" (not to file, just trying to use it to go to 
>>>> screen) produces errors:
>>>>
>>>> Mon Mar 21 12:41:40 darwin.local R[25609] <Error>: kCGErrorRangeCheck: 
>>>> CGSNewWindowWithOpaqueShape: Cannot create window
>>>> Mon Mar 21 12:41:40 darwin.local R[25609] <Error>: kCGErrorFailure: Set a 
>>>> breakpoint @ CGErrorBreakpoint() to catch errors as they are logged.
>>>>
>>>> This happens quite reproducibly (just do "trellis.device(device="quartz", 
>>>> width=640, height=640)" in the R console, in fact).
>>>
>>> Well, you're asking for a device size of 17.8 yards x 17.8 yards 
>>> (width/height is in inches!) - I want to see the screen that can handle 
>>> that ;). But, it should not crash, admittedly, so I'll add a check to avoid 
>>> crash on such user errors.
>>>
>>>
>>>> I don't know whether lattice is supposed to be compatible with the quartz 
>>>> device or not, but it certainly doesn't seem to be.  And this error hoses 
>>>> R so thoroughly that you have to quit and restart it, as far as I can 
>>>> tell, which makes it a bit annoying; don't say I didn't warn you :->.
>>>>
>>>> 3. Using the device "pdf" produces pdf files that have the correct 
>>>> graphics, but have no text (axis labels, tick labels).  This is true 
>>>> whether I try to explicitly specify the font (fontfamily="Times" or 
>>>> fontfamily="HersheySans") or do not specify any font.
>>>>
>>>
>>> I cannot reproduce that - taking the wireframe example from trellis the 
>>> text appears perfectly normal (pdf() device and Preview to display it).
>>>
>>> If in doubt, see ?pdf and ?pdfFonts for dealing with fonts and the pdf() 
>>> device -- the fontfamily is not necessarily what matters here.
>>>
>>>
>>>> 4. Using no device at all (i.e. no call to trellis.device, just printing 
>>>> my wireframe object) gives me lovely-looking output, but in a window, of 
>>>> course, not a file.  This is a bit of a head-scratcher since trying to use 
>>>> device "quartz" produces errors; what device is lattice using, then, if 
>>>> not quartz?
>>>
>>> It does use Quartz but with reasonable sizes ;). In the R.app GUI uou can 
>>> use quartz.save() to save the output of that window WYSIWYG to almost any 
>>> file format.
>>>
>>> Cheers,
>>> Simon
>>>
>>>
>>>
>>>> Anyhow, trying to pass file settings (device and filename) to wireframe() 
>>>> in par.settings seems to get ignored, as far as I can tell, so I can't 
>>>> build on this success to generate the files I want.
>>>>
>>>> I've been googling and reading for an hour now, and can't seem to find any 
>>>> info on this, nor any sample code showing how to get trellis output to a 
>>>> pdf file (not any sample code that looks substantially different from the 
>>>> approach I'm taking, that is).  So I'm rather at my wits end.  Anybody?  
>>>> Can someone please post working sample code for trellis output to PDF that 
>>>> works on the current Mac build of R, at a minimum, and then maybe I can 
>>>> figure this out for myself?
>>>>
>>>> My full code is too hairy to post here, I think, but the nutshell is:
>>>>
>>>> plotFishyWireframe <- function(...)
>>>> {
>>>>  ...stuff...
>>>>  wf_obj <- wireframe(t(zValues), xlab=xlab, ylab=ylab, zlab=zlab, 
>>>> scales=scales, zlim=zlim, main=list(label=plotTitle, cex=1.5), drape=TRUE, 
>>>> at=zcuts, col.regions=zcolors, colorkey=TRUE, screen=screen, 
>>>> perspective=perspective, par.settings=theme)
>>>>  print(wf_obj)
>>>> }
>>>>
>>>> ...stuff...
>>>>
>>>> trellis.device(device="pdf", file="foo.pdf", width=640, height=640)
>>>> plotFishyWireframe(...)
>>>> dev.off()
>>>>
>>>> Thanks in advance!
>>>>
>>>> Ben Haller
>>>> McGill University
>>>>
>>>> _______________________________________________
>>>> R-SIG-Mac mailing list
>>>> [email protected]
>>>> https://stat.ethz.ch/mailman/listinfo/r-sig-mac
>>>>
>>>>
>>>
>>> _______________________________________________
>>> R-SIG-Mac mailing list
>>> [email protected]
>>> https://stat.ethz.ch/mailman/listinfo/r-sig-mac
>>
>
> _______________________________________________
> R-SIG-Mac mailing list
> [email protected]
> https://stat.ethz.ch/mailman/listinfo/r-sig-mac
>



-- 
Byron Ellis ([email protected])
"Oook" -- The Librarian

_______________________________________________
R-SIG-Mac mailing list
[email protected]
https://stat.ethz.ch/mailman/listinfo/r-sig-mac

Reply via email to