Kullanarak ggplot2düzenleyerek kullanarak birden fazla parsel çizmeye çalışıyorum grid.arrange(). Sahip olduğum tam sorunu açıklayan birini bulmayı başardığım için, bağlantı açıklamasından linkten alıntı yaptım :
Ben kullandığınızda ggsave()sonra grid.arrange(), yani
grid.arrange(sgcir1,sgcir2,sgcir3,ncol=2,nrow=2) ggsave("sgcirNIR.jpg")
Izgara grafiğini değil, son bireysel ggplot'u kaydediyorum. Grafiği grid.arrange()kullanarak
ggsave()veya benzeri bir şeyle gösterildiği gibi kaydetmenin herhangi bir yolu var mı ? Eski yolu kullanmak dışında
jpeg("sgcirNIR.jpg") grid.arrange(sgcir1,sgcir2,sgcir3,ncol=2,nrow=2) dev.off()
Aynı bağlantı aşağıdaki çözümü verir:
require(grid)
require(gridExtra)
p <- arrangeGrob(qplot(1,1), textGrob("test"))
grid.draw(p) # interactive device
ggsave("saving.pdf", p) # need to specify what to save explicitly
Ancak, çağrının ggsave()çıktısını bağlantıdangrid.arrange() alınan aşağıdaki kodda kaydetmek için nasıl kullanılacağını anlayamıyorum :
library(ggplot2)
library(gridExtra)
dsamp <- diamonds[sample(nrow(diamonds), 1000), ]
p1 <- qplot(carat, price, data=dsamp, colour=clarity)
p2 <- qplot(carat, price, data=dsamp, colour=clarity, geom="path")
g_legend<-function(a.gplot){
tmp <- ggplot_gtable(ggplot_build(a.gplot))
leg <- which(sapply(tmp$grobs, function(x) x$name) == "guide-box")
legend <- tmp$grobs[[leg]]
return(legend)}
legend <- g_legend(p1)
lwidth <- sum(legend$width)
## using grid.arrange for convenience
## could also manually push viewports
grid.arrange(arrangeGrob(p1 + theme(legend.position="none"),
p2 + theme(legend.position="none"),
main ="this is a title",
left = "This is my global Y-axis title"), legend,
widths=unit.c(unit(1, "npc") - lwidth, lwidth), nrow=1)
# What code to put here to save output of grid.arrange()?
print(ggplot())mi?
ggplotKullanarak tek bir kaydettiğimde ggsave(), görüntünün çözünürlüğü çok daha yüksek olur. Çıktısını grid.arrange()yüksek bir çözünürlükle kaydetmenin bir yolu var mı ggsave()? Örneğin seçenekleri sağlarsam png(...,height=1600, width=2500)görüntü çok bulanık görünür.
png(); grid.arrange(); ggplot(); ggplot(); dev.off()