2014-01-28 2 views
0

У меня есть изображение в MATLAB, которая имеет размер 100 х 200. У меня есть XAxis, которая составляет от -99 до 100. Таким образом, я показываю изображение как так:Force MATLAB, чтобы показать реальные цифры на xlim

mat = randn(100,200); 
xAxis = [-99:100]; 
yAxis = [1:100]; 
imagesc(xAxis, yAxis, mat); 

Однако, я хотел бы, чтобы xaxis на botton отображал ACTUAL число «-99» и «100». Сейчас он не показывает «-99». В некоторых других комбинациях теперь может отображаться либо номер.

Как заставить MATLAB отображать фактические числа, используемые в xAxis?

спасибо.

ответ

4

хорошо, вы можете изменить тики следующим образом:

xTicks = get(gca,'xTick'); 
xLim = get(gca,'xLim'); 
xTicksNew = [xLim(1), xTicks]; 
set(gca,'xTick',xTicksNew); 
2

Добавьте эту строку после вызова imagesc:

set(gca', 'XTickLabel', {'-99', '-80', '-50', '20', '100'}, 'XTick', [-99 -80 -50 20 100]); 

Это заставит метку в точках. Первый массив ячеек - это имена меток, а вектор содержит значения, на которых размещаются эти метки.

+0

О, интересно, не могу я просто использовать его для первого и последнего номеров, хотя средние не дают мне никаких проблем? – Spacey

+1

@mrtubis имеет хороший способ сделать это - я не видел его ответа, когда писал. Вы можете настроить его метод, установив xTicksNew = unique ([- 99 xTicks 100]); а затем с помощью функции set. Уникальный гарантирует, что у вас нет 2 100 значений. Таким образом, вам не нужно записывать все числа, как в приведенном выше примере. – Lazarus

+0

Если я понимаю, что вы просите, тогда вы можете настроить то, что я предложил раньше, и сделать 'xTicksNew = xLim;' – mrtubis

Смежные вопросы