如何以点语言显示文本(graphviz)

时间:2012-08-06 18:24:02

标签: graphviz dot

我试图找出如何在基于点的strike-through图表中graphviz节点中的某些文字?

我在这个页面上查了一下,但无法弄清楚: http://www.graphviz.org/doc/info/attrs.html

谷歌搜索也无济于事。

考虑这个图,这些基本上是来自bugzilla的bug号。红色节点表示已关闭的错误,但我不想像这样对它们进行颜色编码。显然,打击 511272 比红色节点511272更直观。

enter image description here

如果有人知道如何在节点内点击文本,请分享。 感谢,

Shobhit

2 个答案:

答案 0 :(得分:14)

Graphviz没有自己的样式来执行此操作,但由于它是Unicode,因此您可以使用combining characters"combining long stroke overlay" (U+0336)的技术,strikethrough上的维基百科文章建议:

  

在无法使用标记的纯文本方案中,Unicode提供了许多实现类似效果的组合字符。   “长冲程覆盖”(U + 0336)导致不间断的冲程   在整个文本中,

     
      
  • 分开:A̶B̶C̶D̶E̶F̶G̶H̶I̶
  •   
  • 合并:A̶B̶C̶D̶E̶F̶G̶H̶I̶
  •   

此图表:

digraph G {
    a [label="1̶2̶3̶4̶5̶"]
    b [label="54321"]
    a->b
}

使用graphviz 2.23.6:

渲染此png输出

graphviz example with unicode strikethrough

答案 1 :(得分:1)

另一种选择是使用HTML-like labels

digraph G {
    a [label=<<s>12345</s>>]
    b [label="54321"]
    a->b
}

enter image description here