Рассмотрите возможность изолировать механику построения чертежа в своей собственной функции, чтобы вы могли создать цикл 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)
Есть много способов, чтобы написать это, но важно то, что вы отделяете моделирования и сюжет решений от индивидуальных параметров, так что вы можете добавить произвольные параметры, как вы хотите.
Вы должны рассмотреть вопрос о принятии одного из этих ответов в качестве принятого, так как они отвечают на ваш вопрос. –