legend venn diagram in venneuler

柔情痞子 提交于 2019-12-03 15:26:34

By perusing plot.VennDiagram and its defaults you can see how it converts the numbers in y$colors to rgb color strings. (Try getAnywhere("plot.VennDiagram") to have a look yourself.)

Here I've collected the two bits of code that processed the colors (in your case) into a single function that will do the conversion for you. The positioning of the legend could probably be improved, but that's another problem...

col.fn <- function(col, alpha=0.3) {
    col<- hcl(col * 360, 130, 60)
    col <- col2rgb(col)/255
    col <- rgb(col[1, ], col[2, ], col[3, ], alpha)
    col
}

COL <- col.fn(y$colors)
# The original order of columns in x is jumbled in the object returned
# by venneuler. This code is needed to put the colors and labels back
# in the original order (here alphabetical).
LABS <- y$labels
id <-  match(colnames(x), LABS)

plot(y)
legend(.05, .9, legend = LABS[id], fill = COL[id], x="topleft")

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!