Я считаю, что caxis
- это команда, которую вы ищете. Использование:
caxis([minValue maxValue])
Используя caxis
, как это, все значения вне диапазона [minValue maxValue]
будут окрашены с самым низким или самым высоким значением в цветовой палитре соответственно.
Поскольку colorbar
и друзья используют colormap
, вам нужно будет отрегулировать текущую цветовую карту, если вы хотите отрегулировать количество используемых цветов. Сделайте это так:
%# get current colormap
map = colormap;
%# adjust for number of colors you want
rows = uint16(linspace(1, size(map,1), NUM_COLORS)) ;
map = map(rows, :);
%# and apply the new colormap
colormap(map);
Конечно, объединение этого с caxis
является самым мощным.
Если вы не хотите показывать некоторые значения вне диапазона, это не задание для colorbar
или caxis
, это зависит от вас - вам придется настроить данные, которые построены так что все значения, которые вы не хотите , хотите построить NaN
. Это позволит Matlab понять, что вы не хотите строить эти данные:
data( indices_to_data_not_to_plot ) = NaN;
surf(x,y,data); %# or whatever you're using