使用 DiagrammeR 在标签中包含引号和撇号

Include quotes and apostrophe in labels using DiagrammeR

提问人:R.Andres Castaneda 提问时间:8/18/2019 更新时间:8/18/2019 访问量:764

问:

我正在尝试使用在图形中节点的标签中包含撇号。假设我想创建标签 。问题是 DiagrammeR 似乎不接受双引号 (),因此,当我使用单引号时,它不起作用,因为撇号逃脱了整个事情。DagrammeRgrViz"Peter's car"""'Peter's car'

我试过使用 或 ,但似乎没有任何效果。\\\

library("DiagrammeR")
graph <- "
digraph names { 
graph [overlap = true, fontsize = 10]

node [shape = box,
        fontname = Helvetica,
        fontsize = 10]
  1 [label = 'Peter\\'s car']
  2 [label = 'Peter\'s Car']

1 -> 2
}
"
grViz(graph)

该图仅用于测试。它没有传达任何含义。

我希望在注释中看到标签“彼得的车”(没有双引号)

非常感谢。

R 引用 Diagrammer

评论

2赞 Ben Nutzer 8/18/2019
也许你可以使用Unicode: 'Peter's车'
1赞 user20650 8/18/2019
如果你使用它,它可以在原始graphviz中工作。但是,有交换单个引号的行。如果在代码中注释掉此行,它的工作方式与 相同。label = <\"Peter's Car\">grVizdiagram <- gsub(x = diagram, "'", "\"")grVizgraphviz
0赞 R.Andres Castaneda 8/19/2019
尊敬的@BenNutzer,您的解决方案效果很好。但是,它非常冗长。
0赞 R.Andres Castaneda 8/19/2019
@user20650,谢谢你的解决方案。难道你提到的那行有其他目的,这样通过评论它,我可能会破坏一个重要的功能吗?
1赞 user20650 8/19/2019
@R.安德烈斯·卡斯塔内达 ;是的,我确信它确实有原因,但它可能与将外引号转换为双倍号一样最小。请注意,在graphviz中,任何一种引号类型都可以。你可以用一个例子来测试:设置标签,如上所述,然后删除违规行,然后运行。这适用于此示例。您可以使用 重置函数。1 [label = <\"Peter's car\">]body(grViz)[[4]] = quote('')grViz(graph)grViz <- DiagrammeR::grViz

答: 暂无答案