我运行此代码
A = uint8( ones( 200 ) );
a = [ A * 0 A * 1; ...
A * 2 A * 3 ];
color_map = [ 0 0 0; ...
0.3 0.3 0.3; ...
0.9 0.3 0.1; ...
1 1 1; ...
zeros( 252, 3 ) ];
h = image( a );
colormap( color_map );
然后,我使用datatip功能在图中选择一个点。这使得图中的颜色发生变化。它们仍然具有相同的索引和RBG值,但它们是不同的颜色。然后,我删除了数据提示,颜色恢复到正确的颜色。
使用,
set(gcf, 'Renderer', 'opengl')
让问题消失,但我想知道是否有办法避免不得不这样做?我正在使用MATLAB R2013b。
答案 0 :(得分:1)
这一行可以防止您在上面提到的行为:
set(0, 'DefaultFigureRenderer', 'opengl');
它为所有新数字设置渲染器。 您可以将该行放在startup.m文件中。
要了解有关启动文件的更多信息,请访问:
http://www.mathworks.com/help/matlab/ref/startup.html
(如果该文件不存在,则基本生成该文件,并在Matlab启动时将所需的代码放在那里)。