【问题标题】:Graphviz: Color only a field in a Record-based NodeGraphviz:仅着色基于记录的节点中的字段
【发布时间】:2013-06-20 20:41:03
【问题描述】:

有没有办法只为基于记录的节点中的字段添加颜色。像下面的例子一样,字段 struct2:f0 可以单独使用不同的颜色吗?

digraph structs {
node [shape=record];
struct1 [label="<f0> left|<f1> mid\ dle|<f2> right"];
struct2 [label="<f0> one|<f1> two"];
struct3 [label="hello\nworld |{ b |{c|<here> d|e}| f}| g | h"];
struct1:f1 -> struct2:f0;
struct1:f2 -> struct3:here;
}

谢谢

【问题讨论】:

    标签: graphviz


    【解决方案1】:

    我认为这是不可能的。

    您可以考虑使用 HTML-like labels - 您应该能够使用基于记录的节点做所有可以做的事情,等等。

    从上面链接的文档页面:

    基于记录的形状已在很大程度上被取代并大大 由类似 HTML 的标签概括。也就是说,而不是使用 shape=record,可以考虑使用 shape=none 和类似 HTML 标签。

    虽然严格来说 HTML 标签不是一个形状,但它们可以是 被视为上述记录形状的概括。在 特别是,如果节点已将其形状属性设置为 noneplaintext,HTML 标签将是节点的形状。

    【讨论】:

    • 这种方法的缺点是这是 90 年代的 HTML,带有字体标签和表格属性。第二个缺点是你需要弄乱 colspan/rowspan 来分配你的记录单元。但我认为没有其他选择:-(
    • 是的,这是 90 年代的 HTML,我们的下意识反应是鄙视它。但这是为了不同的目的。为此,它是现代 Graphviz。
    【解决方案2】:

    试试这个:

      digraph G {
        "Record" [ label=<<table>
                              <tr>
                                  <td>A</td>
                                  <td bgcolor='#00CC11'>B</td>
                              </tr>
                           </table> 
                          >
                 ];
      }
    

    【讨论】:

      猜你喜欢
      • 2014-03-23
      • 2012-11-28
      • 2018-11-30
      • 2019-12-01
      • 2015-09-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-13
      相关资源
      最近更新 更多