Сохранение фигур в Matlab с одинаковым размером

Я хотел бы иметь последовательность фигур, из которых я могу создать видео.

for i=1:500
    h = figure;
    h.Units = 'inches';
    h.OuterPosition = [0.25 0.25 5 5];
    contourf(data{1});
    saveas  (h ,sprintf('figure_%.3d.png', i));
end

У меня есть этот код, и я успешно сохраняю цифры. Однако некоторые из фигур (возможно, 10 из 500) не имеют того же размера, что и другие фигуры.

  1. Почему они не одного размера?
  2. Как мне убедиться, что все сохраненные фигуры имеют размерные размеры?

person Community    schedule 07.07.2020    source источник
comment
Не создавайте новую фигуру для каждого графика, вместо этого обновите существующий график. Вызовите contourf один раз перед циклом и получите дескриптор, который он возвращает. Затем обновите данные, на которые ссылается дескриптор. Это обновит график без изменения размера фигуры или осей.   -  person Cris Luengo    schedule 07.07.2020
comment
не могли бы вы показать мне, где я должен поставить контур? Значит ли это, что мне придется отдельно сохранять первую фигуру?   -  person    schedule 07.07.2020
comment
Вот пример использования plot: stackoverflow.com/questions/29185082/fix- axes-for-animation — вы можете себе представить, как было бы использовать contourf вместо plot.   -  person Cris Luengo    schedule 07.07.2020
comment
Работает, спасибо за помощь!   -  person    schedule 08.07.2020