MATLAB: укажите фиксированный цвет для нуля в imagesc [duplicate]

, как упоминалось zsolt, некоторые двигатели регулярных выражений поддерживают рекурсию - конечно, обычно это те, которые используют алгоритм обратного отслеживания, поэтому он не будет особенно эффективен. пример: /(?>[^{}]*){(?>[^{}]*)(?R)*(?>[^{}]*)}/sm

6
задан rcty 4 October 2012 в 03:46
поделиться

3 ответа

Как насчет этого?

% don’t know why, but apparently your x and y are one value too long?
x = x(1:end-1); y = y(1:end-1); 

% only plot values of 14 or higher
scatter(x(gnd>=14), y(gnd>=14), 5, gnd(gnd>=14);
0
ответ дан Junuxx 21 August 2018 в 10:18
поделиться
  • 1
    на самом деле это ось z (gnd), которая показана на цветной панели ... но я тоже попробовал ур-метод, он не работал – rcty 4 October 2012 в 13:05
  • 2
    Да, это выбирает значения x и y, где gnd больше или равно 14. Все datapoints с gnd & lt; 14, опущены. Я вижу, что я забыл применить тот же фильтр к gnd. Исправленный. – Junuxx 4 October 2012 в 13:15

Попробуйте следующее:

cmap = colormap; % get current colormap
cmap=cmap([min max],:); % set your range here
colormap(cmap); % apply new colormap
colorbar();
0
ответ дан ppa007hot 21 August 2018 в 10:18
поделиться

Я считаю, что 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
11
ответ дан Rody Oldenhuis 21 August 2018 в 10:18
поделиться
  • 1
    yup, я использовал это, но я хочу, чтобы в цветовой полосе отображалось только 5 значений, таких как caxis ([14 16]). Мне нужно всего 14 14,5 15 15,5 16 значений для отображения – rcty 4 October 2012 в 05:44
  • 2
    @rcty: Ах, вот так. Вам нужно будет определить пользовательскую цветовую палитру, тогда позвольте мне отредактировать. – Rody Oldenhuis 4 October 2012 в 05:51
Другие вопросы по тегам:

Похожие вопросы: