matplotlib неправильно составлен в нескольких файлах - PullRequest
0 голосов
/ 15 октября 2018

Я создал эту функцию

def plotPrediction(testY, predictY, testYIndex, predictIndex, fileName):
    # Use datetime for creating date objects for plotting
    # Plot the actual values
    plt.plot(testY.index, testY[testYIndex], 'b-', label = 'actual');
    # Plot the predicted values
    plt.plot(testY.index, predictY[:, predictIndex] , 'ro', label = 'prediction')
    plt.xticks(rotation = '60'); 
    plt.legend()
    # Graph labels
    plt.xlabel('Date'); plt.ylabel(testYIndex); plt.title('Actual and Predicted DepositCount');
    plt.savefig(fileName+testYIndex+'.png')

Затем я вызываю эту функцию, выполняя:

plotPrediction(testY, predictY, 'DepositCount',0, 'forestpredict');
plotPrediction(testY, predictY, 'DepositAmount',1, 'forestpredict');
plotPrediction(testY, predictY, 'WithdrawCount',2, 'forestpredict');
plotPrediction(testY, predictY, 'WithdrawAmount',3, 'forestpredict');

Моя идея состояла в том, что, поскольку у моего предсказания есть несколько выходов, я хотел бы построить каждыйвывод в другой файл png.Однако выходные файлы показывают одно и то же изображение (кроме первого).Я предполагаю, что мне нужно почистить холст или, может быть, есть какие-то функции, которые говорят matplotlib начать новый график?

1 Ответ

0 голосов
/ 15 октября 2018

Вы можете запустить plt.cla() и plt.clf(), чтобы очистить ось и фигуру перед генерацией следующего графика;Я обычно помещаю их в верхнюю часть моих функций построения графиков, которая в вашем случае будет plotPrediction.

См. Когда использовать cla (), clf () или close () для очистки графика в matplotlib? .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...