Matplotlib:在循环中绘制多个单独的图

时间:2014-08-12 20:18:25

标签: python matplotlib plot graphing

我想绘制多个基准,每个基准都在一个单独的图上。这是我的代码:

for benchmark in benchmarks:
   readFile = open(benchmark+'.txt')
   text = readFile.read()
   x = re.findall(r"(\d+)",text)
   x = [int(i) for i in liveRatio]
   pylab.plot(x)
   F = pylab.gcf()
   F.savefig('benchmark',dpi=200)

代码绘制了同一图表中的所有数据。但是,我希望每个基准测试都有单独的图表。

1 个答案:

答案 0 :(得分:2)

你需要在每个情节调用前清除数字:

for benchmark in benchmarks:
   readFile = open(benchmark+'.txt')
   text = readFile.read()
   x = re.findall(r"(\d+)",text)
   x = [int(i) for i in liveRatio]

   #clear the figure
   pylab.clf()

   pylab.plot(x)
   F = pylab.gcf()
   F.savefig('benchmark',dpi=200)

每次迭代时,第二个音符都会被覆盖,所以我建议这样:

   F.savefig(benchmark+'.png',dpi=200)