Python 如何使用pylab向动态绘图添加子绘图

Python 如何使用pylab向动态绘图添加子绘图,python,matplotlib,Python,Matplotlib,我从未使用过pyplot,而且我是python新手(使用2.7.3),我尝试了几种方法来尝试向下面的类添加2个子包,但是我在让它工作时遇到了问题。我试过一些参考资料,比如和 但我不熟悉这些演示使用的语法,也不熟悉如何将其扩展到我修改过的类 我需要一些更动态的东西,这样我就可以添加到数据集并根据需要进行回复。这是我处理plot的基本类 class PlotTrades(object): '''Plot and save graph of Prices vs Buy/Sell'''

我从未使用过pyplot,而且我是python新手(使用2.7.3),我尝试了几种方法来尝试向下面的类添加2个子包,但是我在让它工作时遇到了问题。我试过一些参考资料,比如和 但我不熟悉这些演示使用的语法,也不熟悉如何将其扩展到我修改过的类

我需要一些更动态的东西,这样我就可以添加到数据集并根据需要进行回复。这是我处理plot的基本类

class PlotTrades(object):
    '''Plot and save graph of Prices vs Buy/Sell'''
    def __init__(self, pair):
        self.pair = pair
        self.graph = pylab.figure()
        pylab.rcParams.update({'legend.labelspacing': 0.25,
                               'legend.fontsize': 'x-small'})
        self.tradeCount = 0;
        self.build()

    def build(self):
        self.toPlot = {}
        self.toPlot['price'] = {'label': 'Price', 'color': 'k', 'style': '-'}

    def append(self, line, value):
        '''Append new point to specified line['values'] in toPlot dict'''
        self.toPlot[line].setdefault('values', []).append(value)
        self.toPlot[line].setdefault('count', []).append(self.tradeCount)

    def updatePlot(self):
        '''Clear, re-draw, and save.
        Allows viewing "real-time" as an image
        '''
        self.tradeCount += 1

        # clear figure and axes
        pylab.clf()
        pylab.cla()
        pylab.grid(True, axis='y', linewidth=1, color='gray', linestyle='--')
        # plot each line
        pylab.plot(self.toPlot['price'].get('count'), self.toPlot['price'].get('values'), label='Price', color='k',
                   linestyle='-')

        pylab.ylim([0,10])
        # labels
        # legend top-left
        pylab.legend(loc=2)
        # save and close
        pylab.savefig('trade_graph.png')
        pylab.close(self.graph)
这个代码是一个情节,我怎么把它分成三个呢?我想添加两个子图,其中的数据在此代码中尚未显示。我知道我需要使用子绘图和布局绘图,但如何将正确的数据集与每个绘图关联


如果能朝正确的方向推进,我们将不胜感激。

您能否减少积垢,以便更容易看到您的代码在做什么?(例如在中设置与您的问题无关的限制)没有问题。我已经删除了一些额外的代码。只需在第一个plot语句之前添加
pylab.subplot(131)
,在第二个plot语句之前添加132,最后添加133。或者使用
fig,(ax1,ax2,ax3)=plt.subplot(3,sharex=True,sharey=True)
。示例如下: