【问题标题】:Strange png picture when trying to output a Venn Diagram to png file using venn() from gplots尝试使用 gplots 中的 venn() 将维恩图输出到 png 文件时出现奇怪的 png 图片
【发布时间】:2012-08-23 13:34:41
【问题描述】:

我想将我的维恩图作为 png 文件。这是不输出到文件时的样子:

library(gplots)
> x <- c("X","B")
> v <- c("X","A")
venn(list(x,v))

然后我得到这个:http://postimage.org/image/d3nbyrp5f/277b50b3/,看起来不错。

但是这样做:

library(gplots)
> x <- c("X","B")
> v <- c("X","A")
> png(filename="test10.png")
> venn(list(x,v))
> dev.off()

给出这个:http://postimage.org/image/tpdywxxrp/a148b2db/,你可以看到 png 文件没有显示正确的维恩图,圆圈是重叠的,所以一个圆圈在另一个圆圈的顶部......

有什么办法可以克服这种奇怪的行为?

编辑:

通过加载cairoDevice解决:

library(cairoDevice)

然后使用:

Cairo_png(filename="test.png")

使用 venn() 正确输出维恩图。

【问题讨论】:

  • 你没有说你正在使用什么操作系统,但这种行为也发生在 Mac 上。 pdf() 输出设备不会发生这种情况。我通常通过在 Preview.app 中打开我的 pdf 文件并保存为 png 来创建 png 文件。

标签: r png venn-diagram


【解决方案1】:

这可能是透明度的问题,您可以使用不同的维恩图工具,或者使用支持透明度的图形设备,我相信 Cairo 设备允许您创建 png 文件并尊重透明度。

【讨论】:

  • 不适用于 CairoPNG 包中的 CairoPNG 函数
【解决方案2】:

您必须将bg 参数(在png 函数中)设置为NA(透明),默认背景为白色。

library(gplots)
x <- c("X","B")
v <- c("X","A")
png("bgNA.png", bg = NA)
venn(list(x,v))
dev.off()

【讨论】:

  • 但我更喜欢下面的解决方案,然后我也会得到白色背景。
  • @Bebe 我明白了...我刚刚尝试使用cairoDevice,它工作正常(我通常使用Cairo 包,它不适用于该包)
猜你喜欢
  • 1970-01-01
  • 2015-03-28
  • 1970-01-01
  • 2015-05-17
  • 1970-01-01
  • 1970-01-01
  • 2020-12-27
  • 2019-08-01
  • 1970-01-01
相关资源
最近更新 更多