【问题标题】:+r +ggplot +jpeg +backgroud +transparent+r +ggplot +jpeg +背景 +透明
【发布时间】:2020-11-07 10:16:40
【问题描述】:

我正在尝试创建一个带有透明背景的 jpeg 绘图。我想在 powerpoint 中使用 jpeg。我无法让透明度发挥作用。当我将 jpeg 插入 ppt 时,它仍然具有白色背景。有没有我遗漏的选项?

library(tidyverse)
library(dplyr)
library(gridExtra)
df<-data.frame(x=1:5)
df$y<-df$x**2

pl<-ggplot(df,aes(x=x,y=x)) +
     geom_point()
pl
pl_for_jpeg<-pl+
   theme(axis.text.x = element_blank(),
        axis.text.y = element_blank(),
        axis.ticks = element_blank(),
        plot.margin = unit(c(0,0,0,0),'mm'),
        panel.background = element_rect(fill = "transparent", color=NA),
        panel.grid.major = element_blank(),
        plot.background =  element_rect(fill = "transparent", color=NA),
        
   )

pl_for_jpeg

ggsave("pl.jpeg",pl_for_jpeg,width=10, height = 7.5, units = "in",bg = "transparent")

【问题讨论】:

  • 你好 Rich,欢迎来到 StackOverflow。据我所知,jpg 不能包含透明度。 [链接]quora.com/…
  • 亚历克西斯,谢谢,这就解释了。 png 格式会为我解决问题。

标签: r ggplot2 background transparency ggsave


【解决方案1】:

这应该是答案:

ggsave("pl.png",pl_for_jpeg,width=10, height = 7.5, units = "in",bg = "transparent")

例如,只需将扩展名更改为png,瞧!您将在 ppt 上看到带有透明背景的图形。

【讨论】:

    【解决方案2】:

    您没有遗漏任何东西,问题在于 jpeg 文件:该格式是为摄影而制作的,因此文件通常是正方形的,没有背景透明度。更改为另一种光栅文件格式(如.png)或矢量文件(如.svg)应该可以解决问题。

    ggsave() 中,您只需更改文件扩展名。或者,在基础 R 中,您可以使用 png(), tiff(), or bmp() functions

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-05-30
      • 1970-01-01
      • 2011-03-08
      • 1970-01-01
      • 2020-02-15
      • 1970-01-01
      • 2021-09-20
      • 2019-02-07
      相关资源
      最近更新 更多