여러 개의 플롯을 사용하여 플롯하려고 ggplot2
사용하여 배열, grid.arrange()
. 내가 가진 정확한 문제를 설명하는 사람을 찾았 기 때문에 링크 의 문제 설명에서 인용했습니다 .
내가 ggsave()
후에 사용할 때 grid.arrange()
, 즉
grid.arrange(sgcir1,sgcir2,sgcir3,ncol=2,nrow=2) ggsave("sgcirNIR.jpg")
그리드 플롯을 저장하지 않고 마지막 개별 ggplot을 저장합니다. 또는 이와 유사한 것을 grid.arrange()
사용하여
표시된대로 플롯을 실제로 저장하는 방법이 ggsave()
있습니까? 예전 방식을 사용하지 않는 것
jpeg("sgcirNIR.jpg") grid.arrange(sgcir1,sgcir2,sgcir3,ncol=2,nrow=2) dev.off()
동일한 링크가 아래 솔루션을 제공합니다.
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
그러나 링크 에서 가져온 다음 코드로 호출 ggsave()
결과를 저장하는 방법을 알 수 없습니다 .grid.arrange()
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())
?
ggplot
사용하여 단일 을 저장 ggsave()
하면 이미지의 해상도가 훨씬 높습니다. grid.arrange()
단일 플롯으로 저장된 것처럼 출력을 고해상도 로 저장하는 방법 이 ggsave()
있습니까? 예를 들어 옵션을 제공 png(...,height=1600, width=2500)
하면 이미지가 매우 흐리게 보입니다.
png(); grid.arrange(); ggplot(); ggplot(); dev.off()