我想并排绘制这两个图像:
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
方法似乎仅在我想创建绘图时(例如绘制元组)。
答案 0 :(得分:1)
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()