我有以下数据:
dc <- c("CACNA1C", "CACNA1D", "KCNN4", "CACNA1F", "CACNA1D", "CACNA1C", "GNRHR", "CD80", "CD86", "ITGA2B" )
tc <- c("CACNA1C", "CACNA1D", "CACNA1C", "CACNA1D", "CACNA1F", "KCNN4", "APP", "GNRHR", "CD86", "CD80" )
我想使用VennDiagram
包创建维恩图。
library(VennDiagram)
Vt <- venn.diagram(
x = list(
DC_Dataset=dc,
TC_Dataset=tc
),
#filename = "1B-double_Venn.tiff",
main = "Targets",
main.cex = 3,
filename = NULL,
lwd = 4,
fill = c("cornflowerblue", "green"),
alpha = 0.75,
label.col = "black",
cex = 2,
fontfamily = "sansserif",
fontface = "bold",
cat.col = c("black", "black"),
cat.cex = 1.5,
cat.fontfamily = "sansserif",
cat.fontface = "bold",
cat.dist = c(0.03, 0.03),
cat.pos = c(-20, 14)
)
grid.newpage()
grid.draw(Vt)
我有3个问题:
形状是椭圆形而不是圆形。可以更改还是默认形状?
最好将这些标签放置在2个形状的主体内的中心位置。使用cat.pos = c(-20, 14)
,我可以左右移动2个标签,但不能上下颠倒。
我不喜欢TC数据集中具有1个唯一值的唯一部分与重叠区域具有相同的颜色。理想情况下,在更新的脚本中,例如选择紫色和绿色作为这两个区域的颜色,然后可以将第三种颜色用作重叠颜色。
回答任何一个问题都将非常有帮助。
答案 0 :(得分:1)
这全部取决于窗口/输出图片的缩放比例。将长宽比设置为1:1会给出一个圆圈。
cat.pos
与左右无关:
给出每个类别名称的位置(以度为单位)的向量 圆,在12点位置为0
此外,cat.dist
对此很有用:
给出每个类别名称的距离(以npc为单位)的向量 圆的边缘(可以为负)
alpha
的值很高,并且蓝色与绿色“接近”,因此它们确实很相似。似乎不可能指定第三种颜色,但是在某种意义上说,最终的颜色是其他两种颜色的混合。也就是说,您可以执行以下操作:
Vt <- venn.diagram(
x = list(
DC_Dataset=dc,
TC_Dataset=tc
),
main = "Targets",
main.cex = 3,
filename = NULL,
lwd = 4,
fill = c("red", "blue"), # Modified
alpha = 0.4, # Modified
label.col = "black",
cex = 2,
fontfamily = "sansserif",
fontface = "bold",
cat.col = c("black", "black"),
cat.cex = 1.5,
cat.fontfamily = "sansserif",
cat.fontface = "bold",
cat.dist = c(-0.1, -0.1), # Modified
cat.pos = c(-90, 90) # Modified
)
grid.newpage()
grid.draw(Vt)