python导入matplotlib模块在不同实例之间共享?

时间:2017-01-20 03:07:10

标签: python oop matplotlib

(我对python不熟悉所以python的类层次结构对我来说还不是很清楚)

所以我ulti.py帮助我绘制事物。

import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
class Util:    
    def plot(self, i, data):            
        plt.plot(data[0],data[1])
        plt.title("test" + str(i))
        plt.show()
        plt.savefig("test" + str(i) + '.png')

然后当我做

from util import Util

uti1 = Util()
uti2 = Util()
print (uti1.plot(1,[[0,1,2],[0,1,2]]))
print (uti2.plot(2,[[0,1,2],[2,1,0]]))

来自另一个文件,令我惊讶的是,来自uti2实例的情节也将uti1实例中的情节重叠在一起!

所以我的问题是,导入python中的每个模块都是一样的吗?我后来发现我可以添加plt.figure(i)来逃避这个问题。但是如何从良好的类设计中避免它呢?或者是这样设计的python。

0 个答案:

没有答案