在节点有数据的地方画图

Draw graph where nodes have data

我有一个包含一些复杂数据的有向图。我想绘制此图并将每个节点表示为 table。有办法实现吗?

我找到的所有绘图示例都只有一个标签或一些简单的绘制到节点中的东西。

仅供参考:我目前正在使用 networkx

使用 graphviz 时,标签可以表示更复杂的东西,例如 table。

Graphviz 提供两种变体:

  1. Record based nodes

基于记录的节点提供了一种在标签中显示简单 table 的简单方法:

node1[shape=record, label="{A|1 May|3 May|-1}|{1|2 May|4 May|2}"]

但是,无法添加样式属性(字体、颜色...)。

  1. HTML-like labels

HTML-like 标签使用 html-like 标记来定义标签的外观,这允许复杂的 tables 包括粗体字体、颜色等样式信息,对齐,...

 node2[shape=none, label=<
 <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0">
    <TR>
        <TD><B>A</B></TD>
        <TD><B>1</B></TD>
    </TR>
    <TR>
        <TD>1 May</TD>
        <TD>2 May</TD>
    </TR>
    <TR>
        <TD>3 May</TD>
        <TD>4 May</TD>
    </TR>
    <TR>
        <TD>-1</TD>
        <TD>2</TD>
    </TR>
 </TABLE>
 >]