我有一个Python模块,需要我生成大约24个不同的数字。为了清理代码,我将六个左右的子图组的各个绘图函数放入单独的子模块中,并使用它们为绘图目的所需的数组调用它们。
每个人的结构都遵循:
import os, numpy, scipy
import matplotlib.pyplot as plt
def plot(array1, array2):
Initial Plotting Setup
plt.clf()
Plotting and saving commands
我导入顶部模块头部的所有绘图子模块,当我这样做时,生成的唯一绘图是导入的最后一个绘图子模块生成的绘图。其余的都是空白.png文件。我重新安排了导入订单,这就是它的工作原理。当我把它放在顶层模块的主体中时,在进行绘图时进行导入,发生了类似的事情。
有人知道为什么会发生这种情况,以及如何在将所有绘图工具保存在子模块中的同时修复它?
答案 0 :(得分:0)
我不确定你是如何组织代码的。这有效:
m1.py
import matplotlib.pyplot as plt
def plot():
plt.clf()
plt.plot([10,2,30,4])
plt.title("m1")
plt.savefig('m1')
m2.py
import matplotlib.pyplot as plt
def plot():
plt.clf()
plt.plot([1,2,3,4])
plt.title("m2")
plt.savefig('m2')
par.py
import m1
import m2
m1.plot()
m2.plot()
文件夹结构:
folder\
....__init__
....m1.py
....m2.py
....par.py
你跑:
>> from folder import par
m1.png
m2.png