删除ggplot2中的边框

时间:2016-08-03 19:10:49

标签: r plot ggplot2 border

我想使用ggplot2删除 .png 输出文件中的白色边框。 我正在使用Windows 10和Rstudio,ggplot2geom_raster。花了一些时间在论坛上搜索,并使用一些参数,我最终得到了这些代码(仍然无效):

library(ggplot2)
library(datasets)

png(file = "Out.png")

par(mar=rep(0, 4), plt=c(0.1,0.9,0.1,0.9), xpd=NA)

ggplot(faithfuld, aes(waiting, eruptions)) +
geom_raster(aes(fill = density))+
theme(axis.line        = element_blank(),
      axis.text        = element_blank(),
      axis.ticks       = element_blank(),
      axis.title       = element_blank(),
      panel.background = element_blank(),
      panel.border     = element_blank(),
      panel.margin = unit(0,"null"),
      legend.position = "none",
      panel.grid.major = element_blank(),
      panel.grid.minor = element_blank(),
      plot.background  = element_blank(),
      plot.margin = rep(unit(0,"null"),4))

dev.off()

此代码给出了这个png:

enter image description here

1 个答案:

答案 0 :(得分:2)

即使有点hacky,您也可以使用cowplot - Package来实现,如下所示:

library(ggplot2)
library(datasets)
require(cowplot)
base <- ggplot(faithfuld, aes(waiting, eruptions)) +
  geom_raster(aes(fill = density)) +
  theme_nothing() + labs(x = NULL, y = NULL) 
plot_grid(base, scale=1.1)

- theme_nothing() + labs(x = NULL, y = NULL)是您使用theme(...)执行操作的简短句柄   - plot_grid(..., scale=1.1)是重要的部分,因为它会调整图表的大小以重叠白色边框。

这会给你:

enter image description here