我正在做一个学校项目,正在使用matplotlib绘制所有图,但复制第一个图然后更改变量名称以添加其他图(子图)非常麻烦。
您可以在此链接上看到我的操作方式:
IPython Project Notebook
非常感谢您对改善工作流程的反馈,谢谢。
最佳答案
考虑将绘图制作机制隔离到它们自己的函数中,这样您就可以创建一个for
循环,为每个变量调用该函数。这是一个示例(我只复制了两个参数列表,但是您可以看到如何添加其余的参数列表)。
fig, ax = plt.subplots(nrows=3, ncols= 2, figsize=(10,10))
x = np.linspace(0,1000000,num=10000)
def plot_maker(ax, x, var, var_name, ax_x, ax_y):
sh, l, sc = sts.weibull_min.fit(var, floc=0)
y = sts.weibull_min.pdf(x, sh, l, sc)
print('Weibull parameters for {0}:\n Scale: {1:2.2f}\n Shape: {2:02.2f}'.format(var_name, sc, sh))
ax[ax_x, ax_y].hist(var, normed=True)
ax[ax_x, ax_y].plot(x, y, 'r', lw=2)
params = [
[fuel['TTF or TBF'], 'Fuel TBF', 0, 0],
[engine['TBF(TTF)'], 'Engine TBF', 0, 1],
]
for param_list in params:
var, var_name, ax_x, ax_y = param_list
plot_maker(ax, x, var, var_name, ax_x, ax_y)
有很多写方法,但是重要的是您将建模和绘图制作与各个参数分开,因此您可以根据需要添加任意参数。
关于python - Matplotlib工作流程,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40362850/