在节点有数据的地方绘制图形

时间:2019-02-24 05:23:03

标签: python networkx graph-theory graphviz graph-visualization

我有一个有向图,其中包含一些复杂的数据。我想绘制此图并将每个节点表示为一个表。有没有办法做到这一点?

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

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

enter image description here

1 个答案:

答案 0 :(得分:0)

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

Graphviz提供两种变体:

  1. Record based nodes

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

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

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

  1. HTML-like labels

类似HTML的标签使用类似html的标记来定义标签的外观,从而允许使用复杂的表格,其中包括样式信息,例如粗体,颜色,对齐方式,...

 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>
 >]