我运行这段代码
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值,但它们是不同的颜色。然后,我删除了datatip,颜色恢复为正确的颜色。
使用,
set(gcf, 'Renderer', 'opengl')让这个问题消失,但我想知道是否有一种方法可以避免不得不这样做?我正在使用MATLAB R2013b。
发布于 2015-07-16 20:22:21
这一行阻止了你上面提到的行为:
set(0, 'DefaultFigureRenderer', 'opengl');它为所有新图形设置渲染器。您可以将这一行放入startup.m文件中。
要了解有关启动文件的更多信息,请访问:
http://www.mathworks.com/help/matlab/ref/startup.html
(如果该文件不存在,则基本生成该文件,并将希望在Matlab启动时运行的代码放在其中)。
https://stackoverflow.com/questions/27450386
复制相似问题