[英]Plotting networkx and nxvis graph side by side
我想并排绘制这两个图像:
import networkx as nx
import matplotlib.pyplot as plt
import nxviz as nv
test_G = nx.tutte_graph()
nx.draw(test_G)
plt.show()
m = nv.MatrixPlot(test_G)
m.draw()
plt.show()
我尝试使用:
fig = plt.figure(figsize=(2,1))
sub1 = fig.add_subplot(211)
...
但这会创建一组新的轴,是否有一种标准的并排绘制图像的方法, plt.figure
方法似乎仅在我要创建绘图时才有效(例如绘制元组)。
nxvis设计错误。 它以新的图形创建自己的硬编码111子图。 一种选择是首先创建nxvis图,然后根据gridspec更改其位置。
(同样,我没有测试过,因为我无法安装此nxviz软件包)
import networkx as nx
import matplotlib.pyplot as plt
import nxviz as nv
import matplotlib.gridspec
test_G = nx.tutte_graph()
m = nv.MatrixPlot(test_G)
m.draw()
gs = matplotlib.gridspec.GridSpec(2,1)
plt.gca().set_position(gs[1].get_position(plt.gcf()))
plt.gca().set_subplotspec(gs[1])
plt.subplot(gs[0])
nx.draw(test_G)
plt.show()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.