如何在python中使用pylab绘制多幅图片?
我有以下代码:如何在python中使用pylab绘制多幅图片?,python,matplotlib,Python,Matplotlib,我有以下代码: import psycopg2 import pylab class Datenanzeige: def __init__(self): self.conn = psycopg2.connect("dbname='test' user='test' host='test' password='test'") self.cur = self.conn.cursor() self.site = ['FFF', 'PPP', 'DDD', 'KKK']
import psycopg2
import pylab
class Datenanzeige:
def __init__(self):
self.conn = psycopg2.connect("dbname='test' user='test' host='test' password='test'")
self.cur = self.conn.cursor()
self.site = ['FFF', 'PPP', 'DDD', 'KKK']
self.plant = [1, 2, 3, 4, 5, 6]
def anzeige(self):
for i in range(4):
for j in range(6):
self.datProd1 = []
self.datProd2 = []
self.cur.execute("""
SELECT proddate, Sum(mods) AS Summevonmods
FROM "20091229global"
GROUP BY proddate, site, plant, pid
HAVING proddate > Date('today') - 14
AND
site='"""+self.site[i]+"""'
AND
pid=802
AND
plant='"""+str(self.plant[j])+"""'
ORDER BY proddate, site, plant, pid;
""")
self.row = self.cur.fetchone()
while self.row:
self.datProd1.append(self.row[0])
self.datProd2.append(self.row[1])
pylab.title('Progress of %s' %self.site[i])
pylab.ylabel('number')
pylab.xlabel('date')
pylab.plot(self.datProd1, self.datProd2)
pylab.savefig("bild%i" %i )
self.row=self.cur.fetchone()
q = Datenanzeige()
q.anzeige()
代码正在运行。对于每个self.site变量,我会得到另一张图片,但下面的每张图片都包含前一张的线条。我怎样才能防止这种情况?
我需要单独的图片,没有前一张的线条。要做你想做的事,你需要做两件事之一:
clf()
和cla()
(分别清除图形和清除轴)方法import matplotlib.pyplot as plt
fig = plt.figure()
axes = fig.add_subplot(1,1,1)
axes.set_xlabel("foo")
axes.set_ylabel("bar")
axes.set_title("title")
# ...
fig.savefig("filename")
谢谢我找到了我要找的东西。