在这个问题上的任何帮助都是非常感谢的。我正在尝试使用matplotlib制作子图,我写的代码如下:
import networkx as nx
Fig, Axes = plt.subplots(nrows=1, ncols=2)
plt.tight_layout()
for i in range(0, NoOfVehicles):
Axes[i].set_aspect(1)
Axes[i].xaxis.set_major_formatter(mtick.NullFormatter())
Axes[i].yaxis.set_major_formatter(mtick.NullFormatter()现在我如何在第一个图中绘制一些东西,然后在第二个图中绘制其他东西。
我想做的是
nx.drawing.nx_pylab.draw_networkx_nodes(GPlot[0].G, GPlot[0].Position, node_size=100, node_color=GPlot[0].Color)在第一个图中,
nx.drawing.nx_pylab.draw_networkx_nodes(GPlot[1].G, GPlot[1].Position, node_size=100, node_color=GPlot[1].Color)在第二个。
总之,这就是我想要做的:我希望第一组节点出现在子图(1,2,1)中,第二组节点出现在子图(1,2,2)中。但两者都出现在同一个图(1,2,2)中。
GPlot只是一个包含GraphPlot类的2个对象的列表
class GraphForPlot:
def __init__(self):
self.G = nx.Graph()
self.Components = []
self.ActiveStatus = {}
self.Nodes = []
self.Position = {}
self.Color = []发布于 2013-03-06 03:34:28
您需要告诉netwkorkx要绘制哪个轴,如果您不这样做,它将绘制到当前活动的轴(无论plt.gca()返回什么(doc)。
nx.drawing.nx_pylab.draw_networkx_nodes(..., ax=Axes[0])
nx.drawing.nx_pylab.draw_networkx_nodes(..., ax=Axes[1])顺便说一句,你不应该对实例变量(pep8)使用驼峰式大小写,它可能会与类名(在本例中是matplotlib.axes.Axes)冲突。
https://stackoverflow.com/questions/15232217
复制相似问题