2013-03-05 33 views
0

对此问题的任何帮助表示赞赏。我试图让使用matplotlib次要情节和我写的代码如下:Matplotlib subplot axes

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,1),第二组进入子图(1,2,1)。但是都出现在同一个地块(1,2,2)。

GPlot只是GraphPlot

class GraphForPlot: 
    def __init__(self): 
     self.G = nx.Graph() 
     self.Components = [] 
     self.ActiveStatus = {} 
     self.Nodes = [] 
     self.Position = {} 
     self.Color = [] 
+0

我不明白你在问什么。你期望代码做什么,它在做什么? – tacaswell 2013-03-05 19:19:52

+0

我想要第一组节点进入子图(1,2,1),第二个进入子图(1,2,2)。但是都出现在同一个地块(1,2,2) – user62089 2013-03-05 19:22:21

+0

什么是'GPlot'?你应该编辑你的问题,包括你以前的评论,以及'GPlot'是什么。 – tacaswell 2013-03-05 19:28:08

回答

0

你需要告诉netwkorkx哪些轴画成,如果你不这样做,将会吸引到当前的活动轴(包含一类2级的对象列表什么曾经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)。

+0

如果我这样做,我会得到以下错误: ValueError:参数必须是此轴中的图像,集合或ContourSet – user62089 2013-03-05 19:36:45

+0

好吧,如果我这样做: ax = plt.subplot(1,2,i + 1) 但我不知道为什么它不起作用,如果我按照你提到的方式这样做 – user62089 2013-03-05 19:39:28

+0

结果'type(Axes [0])'是什么? – tacaswell 2013-03-05 19:45:50