Рассмотрим следующий код, который рисует фигуру:
figure('Renderer', 'opengl');
N = 50;
tL = linspace(0.5, 6, N).';
tB = sort(randi(100,N,20),1);
yyaxis right; plot(tL, tB);
xlim([2 6]);
Когда я запускаю этот код, я получаю преследуемую фигуру с движущимися линиями, которая должна быть статической, например (эта использует мои реальные данные, которые выглядят немного лучше, чем в примере):
Несколько дополнительных замечаний:
- Я заметил, что без линии
xlim
ничего не происходит (т.е. фигура статична, как и ожидалось). - Я не смог заставить его работать на другом компьютере с той же версией MATLAB.
- Строка "анимация", похоже, совпадает с появлением и исчезновением панели инструментов осей (справа вверху с масштабированием и т.д.).
- Когда я создаю фигуру, используя
figure('Renderer', 'painters')
, этого не происходит.
Может кто-нибудь объяснить, почему это происходит? Это документированное поведение? Есть идеи, как это контролировать?
Я работаю с R2018b на Windows 10 v1803. Мои экраны подключены к встроенному графическому процессору Intel HD Graphics 530 (версия драйвера 22.20.16.4749).
Обновление за сентябрь 2019 года: это также происходит для меня на R2019b в Windows 10 v1903. Как указано в комментариях, ниже приведен вывод opengl info
:
Version: '4.5.0 - Build 25.20.100.6373'
Vendor: 'Intel'
Renderer: 'Intel(R) HD Graphics 530'
RendererDriverVersion: '25.20.100.6373'
RendererDriverReleaseDate: '18-Nov-2018'
MaxTextureSize: 16384
Visual: 'Visual 0x07, (RGBA 32 bits (8 8 8 8), Z depth 16 bits, Hardware acceleration, Double buffer, Antialias 8 samples)'
Software: 'false'
HardwareSupportLevel: 'full'
SupportsGraphicsSmoothing: 1
SupportsDepthPeelTransparency: 1
SupportsAlignVertexCenters: 1
Extensions: {223×1 cell}
MaxFrameBufferSize: 16384