я запускаю этот код
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 );
Затем я выбираю точку на рисунке, используя функцию всплывающей подсказки. Это приводит к изменению цвета на рисунке. Они по-прежнему имеют те же индексы и значения RBG, но имеют разные цвета. Затем я удаляю всплывающую подсказку, и цвета возвращаются к своим первоначальным цветам.
С использованием,
set(gcf, 'Renderer', 'opengl')
устраняет проблему, но мне интересно, есть ли способ избежать этого? Я использую MATLAB R2013b.
color_map2 = [0 0 0;.3 .3 .3;.9 .3 .1;1 1 1]; h = image(a);colormap(color_map2);
- person Jim Quirk   schedule 12.12.2014feature('usehg2',1)
или запуск MATLAB с параметром командной строки-hgVersion 2
, согласно этот недокументированный пост Matlab. - person Dev-iL   schedule 17.06.2015doc datatip
появляется окно, которое показываетdatatip is obsolete
, FYI. - person Numbers682   schedule 09.06.2017