Как заменить свойство EraseMode?

Начиная в R2014b, свойство EraseMode было удалено из всех графических объектов. Можно все еще достигнуть большинства эффектов, произведенных EraseMode, таких как создание анимаций или создание наложенных цветов, с помощью методов, описанных здесь.

Создание анимаций

Чтобы накопить изображение путем добавления данных к каждому кадру, используйте один из этих подходов вместо того, чтобы установить свойство EraseMode на 'none':

  • Используйте hold on, чтобы сохранить текущие данные и добавить новые данные к графику.

  • Используйте новую функцию animatedline, чтобы создать линейные анимации.

  • Используйте функцию movie, чтобы проигрывать зарегистрированные кадры фильма.

Например, создайте линейную анимацию с помощью новой функции animatedline.

theta = linspace(0,2*pi,1000);
h = animatedline();
axis([0,2*pi,-1,1])

for t = theta
    addpoints(h,t,sin(t));
    drawnow;
end
Для получения дополнительной информации о создании линейных анимаций смотрите, что страница с описанием animatedline и drawnow функционируют.

Отображение изменений в данных объектов

Чтобы сразу отобразить изменения в данных объектов, вызовите функцию drawnow вместо установки EraseMode к 'xor'.

Например, измените YData для строки и отобразите обновления.

t = linspace(0,2*pi,10000);
y = exp(sin(t));
h = plot(t,y);
for k = 1:0.01:10
   y = exp(sin(t.*k));
   h.YData = y; 
   drawnow
end

Создание наложенных цветов

Чтобы произвести наложенные цвета, используйте прозрачность вместо установки Erasemode к 'xor'.

p1 = patch([0,2,2,0],[0,0,2,2],[1,1,1,1]);
p2 = patch([1,3,3,1],[1,1,3,3],[2,2,2,2]);
p2.FaceAlpha = 0.5;

Увеличение скорости рендеринга

В предыдущих релизах, устанавливая свойство EraseMode на 'xor' увеличивает скорость рендеринга. Удалите код, который устанавливает свойство EraseMode получить подобные скорости рендеринга.

Смотрите также

Функции

Была ли эта тема полезной?