考虑以下绘制图形的代码:
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')
不会发生。
有人可以解释为什么会这样吗?这是记录在案的行为吗?知道如何控制它吗?
我正在 Windows 10 v1803 上使用 R2018b。我的屏幕连接到板载 GPU,即 Intel HD Graphics 530(驱动程序版本 22.20.16.4749)。
2019 年 9 月更新:我在 Windows 10 v1903 上的 R2019b 上也会发生这种情况。正如评论中所建议的,以下是输出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