我在家里写了一些代码来绘制一些3D数据.它工作正常.现在我在办公室运行相同的代码,我得到了一些奇怪的错误.似乎插入的每个数据点都有一个标签.
但这只发生在一半的情节上.左图显示了真实数据,右图显示了这些数据的平滑拟合.左边的一个得到错误而另一个没有.
我在同事的机器上运行代码,它也运行良好.所以我将干净的图形文件保存在他的机器上并试图在我的电脑上打开它们.仍然是同样的错误.所以这不是代码,但似乎是一些奇怪的显示错误.有没有人看过这个?

figure(1);
s1=gca;
surf(t_matrix,f_matrix,alpha_matrix)
colorbar
figure(2);
s2=gca;
surf(t_matrix2,f_matrix2,alpha_matrix2)
colorbar
Run Code Online (Sandbox Code Playgroud)
这只是这段代码.如果我调试,数字会在第一次调用colorbar后出现.但不是在第二种情况下.我在家里的Matlab版本是2013a,但在办公室和我的同事都是2012b.
这似乎是一个错误.MATLAB Answers上有一个主题.
Jan Simon接受的答案是
这可能是OpenGL驱动程序造成的.你安装了显卡的最新驱动程序了吗?
解决方法可能是:
set(gcf,'renderer','zbuffer');
或者如果OpenGL看起来更好:
opengl软件
也许:
opengl硬件
在文档中查找"OpenGL",找到一堆开关来考虑一堆驱动程序错误.