R语言 删除绘图背景以使其为png [已关闭]

lokaqttq  于 2023-03-15  发布在  其他
关注(0)|答案(2)|浏览(116)

**已关闭。**此问题需要debugging details。当前不接受答案。

编辑问题以包含desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem。这将有助于其他人回答问题。
8天前关闭。
Improve this question
我有一个VennDiagram,我想把它绘制在一个图表的顶部。我已经知道我可以用patchwork::inset_element()做到这一点。但问题是,VennDiagram有一个白色的黑色背景,这是R Studio的默认绘图。我一直在研究magick,并试图删除图的背景,或使其透明。所以它基本上变成了一个png图像,不会与图表数据重叠,但是我不知道怎么做。有人能帮我一把吗?

pacman:: p_load (ggplot2, VennDiagram, patchwork)

维恩图示例:

myvd <- draw.quad.venn (area1 = 300, area3 = 70, area4 = 2, area2 = 1,
                        n12 = 0, n13 = 0, n14 = 0,
                        n23 = 0, n24 = 1, n34 = 1,
                        n123 = 0, n124 = 0, n134 = 0, n234 = 0, n1234 = 0,
                        category = c("A", "B", "C", "D"),
                        fill = c ("orange", "yellow", "pink", "lightblue"), lty = "blank")

图表示例:

data <- data.frame(name=c("A","B","C","D","E"), value=c(3,12,5,18,45))
chart <- ggplot(data, aes(x=name, y=value)) + geom_bar(stat = "identity", width=0.2)

它看起来像什么:

但是...
我真的需要移除这个维恩图的背景,这样它就不会与图表数据重叠......但我不知道该怎么做=/

dly7yett

dly7yett1#

您可以:

chart + inset_element(vd + theme_void(), 0, 0.4, 0.9, 0.9)

或者,如果使用VennDiagram而不是ggVennDiagram,请尝试:

chart +
  lapply(vd, annotation_custom, xmin = 1, xmax = 4.5, ymax = 45, ymin = 15)

dly7yett

dly7yett2#

一种直接的方法是使用ggplot的void主题,如下所示:

vd <- ggVennDiagram(x, theme = 'void')
ggplot(...) + ## your main plot code here
  inset_element(vd, .5, .5, 1, 1)

相关问题