在 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()
我一直在研究 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()