Python matplotlib не строил график для всех 3 доступных параметров

#python #matplotlib

#python #matplotlib

Вопрос:

Я строю модель ARIMA, но у меня есть 3 артикула, но я получаю только один график после выполнения цикла. Пожалуйста, помогите

 for sku in sku_list:
    print()
    print(sku)
    df_sku = df[df['Product SKU'].isin([sku])]
    period_index = 0
    y = df_sku.Sales
    model = ARIMA(y, order=(2, 1, 0))
    results_ARIMA = model.fit(disp=-1)  
    plt.plot(y)
    plt.plot(results_ARIMA.fittedvalues, color='red')
    plt.title('RSS: %.4f'% sum((results_ARIMA.fittedvalues-y)**2))
    plt.show()
  

Комментарии:

1. plt.show является блокирующим оператором; вытолкните его за пределы цикла

Ответ №1:

Вы пытались изменить отступ и создать разные наборы данных? Похоже, что ваш цикл возвращает только одно значение.

 y=[]
results_ARIMA=[]
for sku in sku_list:
    print()
    print(sku)
    df_sku = df[df['Product SKU'].isin([sku])]
    period_index = 0
    y.append(df_sku.Sales)
    model = ARIMA(y, order=(2, 1, 0))
    results_ARIMA.append(model.fit(disp=-1).fittedvalues)
plt.plot(y)
plt.plot(results_ARIMA, color='red')
plt.title('RSS: %.4f'% sum((results_ARIMA-y)**2))
plt.show()