【问题标题】:introducing linebreaks in Vennerable "elements"在可敬的“元素”中引入换行符
【发布时间】:2014-09-21 22:14:26
【问题描述】:

我正在使用Vennerable package 绘制维恩图。

library(Vennerable)

A <- c("aa","ab","ac","a1")
B <- c("bb","ab","bc")
C <- c("ac","bc","cc","aa")
L <- list(A=A,B=B,C=C)
V <- Venn(L)

我知道我可以使用

来操纵“元素”的字体大小
gp <- VennThemes(compute.Venn(V))
gp$FaceText <- lapply(gp$FaceText,function(x) {x$fontsize<-10; return(x)})
plot(V ,doWeights=FALSE,show=list(FaceText="elements"),gp=gp)

不幸的是,元素的标签文本被放入没有空格或逗号的集合中(“aaac”而不是“aa, ac”)。见下图。有什么办法可以改变吗?

此外,如果我有很多项目(不止 2 个,如下例 (aa ac)),我如何在元素的标签中引入 换行符?我相信像

linebreak <- function(x,...){
  gsub('(.{1,15})(\\s|$)', '\\1\n', x)} 

可以提供帮助。但是我如何将它集成到 Vennerable 情节代码中?

很遗憾,该软件包的文档中没有任何相关信息。 非常感谢。

【问题讨论】:

    标签: r venn-diagram


    【解决方案1】:

    如果您在名称中添加“\n”,则换行符会出现在文本标签中:

    L <- list('A\nB'=A,'B\nC'=B,'C\nD'=C)
    V <- Venn(L)
    gp <- VennThemes(compute.Venn(V))
    gp$FaceText <- lapply(gp$FaceText,function(x) {x$fontsize<-10; return(x)})
    plot(V ,doWeights=FALSE,show=list(FaceText="elements"),gp=gp)
    

    我无法让您的 linebreak 函数按照我想象的您预期的方式工作,但没有针对它的测试套件。

    【讨论】:

      猜你喜欢
      • 2017-08-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-12
      • 2017-09-11
      • 1970-01-01
      • 1970-01-01
      • 2018-03-06
      相关资源
      最近更新 更多