在 table 中显示来自 networkx 的多个图表

Displaying multiple graphs from networkx in a table

我一直在研究 networkx 的随机图功能,如此处所示的 Erdos-Renyi 图:

G = nx.gnp_random_graph(n, p, seed=None, directed=False)

然后我可以用

绘制图表
nx.draw 

有没有办法,我可以使用 nx.draw 制作 table 个随机图形图像?我想用一些标签制作一些采样图的 table。有没有办法使用 Matlab 绘图来做到这一点?

如果我理解正确,你可以使用子图来实现你想要的:

fig, axes = plt.subplots(nrows=3, ncols=3)

for ax in axes.ravel():
    G = nx.gnp_random_graph(10,10, seed=None, directed=False)
    nx.draw_networkx(G, ax=ax)

编辑:

您可以在实例化时更改图形的大小,方法是:

fig, axes = plt.subplots(nrows=rows, ncols=cols, figsize=(10,10)) # default unit is inches. 

您可以通过以下方式更改尺寸:

fig.set_figwidth(10)
and 
fig.set_figheight(10)

如果你有超过 1 行和超过 1 列,你可以访问单独的子图,像这样:

axes[row,column] # zero-indexed. 

要添加标签或其他内容,您可以这样做:

axes[row,column].set_ylabel('blah')
axes[row,column].set_title('blubb')

要更改图形标题,您可以执行以下操作:

fig.suptitle('my fancy title')

如果最后你的标签相交或者你的图形看起来很乱,你可以强制布局紧凑:

plt.tight_layout()