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