2012-06-29 2 views
4

Представьте, что я рисую, например. это:Изменить маркировку оси x независимо от значений x?

plot(1:1500,1:1500) 

Это будет выглядеть как на картинке ниже, с осью х, начиная с 0 и, подойдя к 1500.

Сейчас я не хочу иметь маркировку, но вместо того, чтобы ось х маркировка должна начинаться с, например, 1, а затем заканчивается на 151 (увеличение на 1/10 для каждой точки на оси x, дополнительно смещение 1).

Я просто хочу изменить маркировку оси x, я не хочу менять входной вектор x на функцию графика и не хочу рисовать другие точки. Я просто хочу, чтобы маркировка x начиналась с другого смещения и увеличивалась в размере другого шага, независимо от значений x, переданных функции графика.

Возможно ли это? Как? Это облегчит мне некоторые вещи. Спасибо за любой намек!

enter image description here

ответ

8

Вы можете настроить засечек с помощью XTICK и XTickLabel axis properties.

Пример:

x = 1:7; 
y = rand(size(x)); 
plot(x,y) 
set(gca, 'XTickLabel',{'Mon','Tue','Wed','Thu','Fri','Sat','Sun'}) 

screenshot

+0

Спасибо, свойство XTickLabel, кажется полезным для меня, так как я мог бы генерировать все значения для него. Мне все еще интересно, возможно ли прямо установить что-то вроде xAxisOffset = 1, xAxisStepsize = 1/10, так что мне не нужно создавать полный вектор. Но если я не ошибаюсь в свойствах, нет ничего подобного): –

+0

@ stean.at.wpf: не указано явно. 'XTick' позволяет указать, где MATLAB показывает отметки. 'XTickLabel' позволяет вам настроить ярлык в этих местах. Обратите внимание, что после того, как вы их вручную установили, вы больше не получите режим «auto» (попробуйте «plot (1: 100)», затем измените размер рисунка и посмотрите, как он регулирует отметки в соответствии с шириной) – Amro

+0

@Amro: возможно, я может изменить мой пример. Каковы точные значения, которые вы хотите на оси x. Это '1: 1/10: 151'? Также как часто показывают, что вы показываете их, значения N равномерно распределены? – Amro

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