1

有没有办法在 R 中将以下维恩图绘制为正方形而不是圆形?

venn.plot <- draw.triple.venn(1883,598,2151,218,221,611,95, c("AL", "RL", "R"),scale=TRUE)
4

1 回答 1

4

draw.triple.venn确实返回“...一个 gList 类的对象,其中包含构成图表的网格对象。除非用 ind = FALSE 指定,否则还会在图形设备中显示图表。Grid::grid.draw 可用于绘制 gList 对象在图形设备中。” (来自 VennDiagram 帮助文件),因此通过对该对象的组件进行一些创造性的编辑,您可能能够绘制正方形而不是圆形。

(注意:请删除我不小心写的匿名编辑)这是这样做的方法。不要告诉我的老板我浪费时间挖掘这个黑客。

Rgames> hack.plot[[6]]$x<-unit(c(.25,.75,.75,.25),unit='npc')
Rgames> hack.plot[[6]]$y <-unit(c(.25,.25,.75,.75),unit='npc')

为了正确放置正方形,那些坐标应该是range(as.numeric(hack.plot[[6]]$x))等等。我相信这三个圆圈位于插槽 6、7 和 8 中。

于 2012-12-11T20:44:18.953 回答