2015-04-17 12 views
8

Ich habe ein Gitterplot-Objekt g.Wie speichert man ein Gitterplot in R?

class(g) 
"gtable" "grob" "gDesc" 

Ich kann grid.draw (g) verwenden, um das Diagramm zu zeichnen. Ich kann jedoch keine Möglichkeit finden, die Zeichnung in eine PDF-Datei zu speichern.

Ich habe versucht:

ggsave(g, file="plot.png") 

Aber anscheinend ggsave auf ein solches Objekt nicht funktioniert. Hier

ist ein Beispiel aus der grid.draw Hilfeseite:

grid.newpage() 
## Create a graphical object, but don't draw it 
l <- linesGrob() 
## Draw it 
grid.draw(l) 

Zeichnung funktioniert gut, aber Speichern/Drucken verursacht das Problem.

Irgendwelche Abhilfe? Vielen Dank!

+0

Versuchen Sie 'png (" myfine.png "); Druck (g); dev.off() '. es würde wirklich helfen, ein [reproduzierbares Beispiel] zu haben (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example). 'ggsave' ist für' ggplot2' Objekte, die eine Klasse von 'gg' oder' ggplot' haben. Die oben aufgeführten Klassen sind für untergeordnete Gitterobjekte gedacht. (ggplot ist auf Raster aufgebaut, aber sie sind nicht das Gleiche) – MrFlick

+0

Danke! Aber es scheint nicht zu funktionieren. Das einfachste Beispiel stammt von der Hilfeseite? Grid.draw: grid.newpage(); l <- linienGrob(); grid.draw (l) – xiaoxiao87

+3

Aus dem von Ihnen geposteten Beispiel, welches Objekt hat die Klasse "gtable"? Beziehen Sie sich auf "l"? 'png (" myfile.png "); Handlung (l); dev.off() 'scheint mir gut zu funktionieren. Ich verstehe nicht, was nicht für dich funktioniert. – MrFlick

Antwort

8

Dies ist, was MrFlick beantwortet hat, aber für PDFs (was Sie in Ihrer Frage gefragt).

## Initiate writing to PDF file 
pdf("path/to/file/PDFofG.pdf", height = 11, width = 8.5, paper = "letter") 

## Create a graphical object g here 
g # print it 

## Stop writing to the PDF file 
dev.off() 
3

Es kann Zugabe wert sein, dass aktualisierte Version ggsave den gewünschten Export facilites.

Pakete

# Load 
lapply(c("ggplot2", 
     "gridExtra"), 
     require, 
     character.only = TRUE) 
sessionInfo() 

attached base packages: 
[1] stats  graphics grDevices utils  datasets methods base  

other attached packages: 
[1] gridExtra_2.2.1 ggplot2_2.1.0 

loaded via a namespace (and not attached): 
[1] colorspace_1.2-6 grid_3.1.1  gtable_0.2.0  munsell_0.4.3 plyr_1.8.3  Rcpp_0.12.6  
[7] scales_0.4.0  tools_3.1.1 

Graph Herstellung und Export

a <- ggplot(data = mtcars) + 
    geom_point(aes(x = mpg, y = cyl)) 

b <- ggplot(data = mtcars) + 
    geom_line(aes(x = wt, y = vs)) 

# grid 
gridAB <- grid.arrange(a, b) 
# Export 
ggsave(filename="ab.pdf", plot=gridAB) 

Klasse

> class(gridAB) 
[1] "gtable" "gTree" "grob" "gDesc" 

Vorschau

Results

Verwandte Themen