【问题标题】:Remove parenthesis from ggplotly legend从 ggplotly 图例中删除括号
【发布时间】:2021-06-06 05:32:24
【问题描述】:

我找到了this example here,它提供了一种完美的方式来摆脱 ggplotly 添加到图例中的额外术语。

我的问题是解决方案中的代码删除了逗号, 之后的所有内容,而我有一个实际的逗号是我的图例,格式为DIC, Spliced

代码是:

for (i in 1:length(myplot$x$data)){
    if (!is.null(myplot$x$data[[i]]$name)){
        myplot$x$data[[i]]$name =  gsub("\\(","",str_split(myplot$x$data[[i]]$name,",")[[1]][1])
    }
}

我原来的剧情有这样的传说:

应用代码后,我在传说中失去了 Spliced/Uspliced 术语

【问题讨论】:

  • 你能展示你的实际数据和绘图吗?忘记其他答案吧,这是一种非常不可靠的方法,不需要生成适当的图例。

标签: r


【解决方案1】:

所以plotly 总是将新图例变为(orignal_legend,1)(奇怪)。总是,1) 吗?或者可以是,2) 或任何其他号码。我不知道。

如果您的原始图例是(DIC, Spliced, 1),它将变为((DIC, Spliced, 1), 1)plotly。因此,您必须从图例中删除开头的圆括号和结尾的 ,1)。用gsub 试试这个正则表达式:

for (i in 1:length(myplot$x$data)){
  if (!is.null(myplot$x$data[[i]]$name)){
    myplot$x$data[[i]]$name = gsub('^\\(|,\\d+\\)$', '', myplot$x$data[[i]]$name)
  }
}

如前所述,我不确定它是否总是,1) 或者也可以是,2),所以为了更安全,我使用了\\d+,它会在最后删除任何数字字符串。

【讨论】:

  • “plotly”一般不会这样做,不。当图例结合多种美学时,它会这样做,然后图例标题是这些美学的逗号分隔列表。例如。 (‹color›, ‹fill›).
猜你喜欢
  • 2016-04-09
  • 1970-01-01
  • 2013-11-09
  • 2017-03-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-20
  • 2021-09-12
相关资源
最近更新 更多