如何使用pylab将子图添加到动态图中

时间:2013-12-17 05:11:24

标签: python matplotlib

我从来没有使用过pyplot而且我是python的新手(使用2.7.3)而且我尝试了几种方法来尝试将2个子图添加到下面的类中,但是我遇到了麻烦工作。我尝过了一些参考资料,例如http://matplotlib.org/examples/pylab_examples/shared_axis_demo.htmlhttp://matplotlib.org/examples/pylab_examples/subplots_demo.html  但我不熟悉这些演示使用的语法或如何将其扩展到我修改过的类。

我需要更动态地工作,所以我可以根据需要添加到数据集和重新绘制。这是我处理剧情的基本课程

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)

此代码适用于一个情节,我如何将其分解为3?我想添加一个2子图,其中包含此代码中尚未显示的数据。我知道我需要使用子图并绘制图,但是如何将正确的数据集与每个图关联起来?

赞赏正确的方向。

0 个答案:

没有答案