2013-07-11 3 views
1

Я пытаюсь сделать фигуру в Matlab, которая имеет линии сетки в некоторых пользовательских местах, но я также хочу писать тики через равные промежутки времени. В настоящее время я подготовил следующий график, с линиями сетки в правильном положении:Настроить галочки и настраиваемые линии сетки одновременно

plot(myData); 
xlabel('Frequency'); 
ylabel('Maginute'); 
set(gca, 'XTick', listOfTheoreticalValues); 
set(gca,'XGrid', 'on'); 
set(gca, 'XTickLabel', ''); 

enter image description here

Проблема я столкнулся в настоящее время, однако, заключается в том, что я не могу поставить нормально, равномерно разнесенных клещей на ось х, не говоря уже о значении маркировки, потому что это немедленно добавит дополнительные линии сетки. Есть ли способ отделить две вещи друг от друга?

+1

Вы хотите, чтобы одинаковые интервалы вдоль всей оси х? Одним быстрым и грязным исправлением может быть наложение двух графиков (один пустой, но с одинаково разнесенными тиками и один, как то, что вы показали в своем вопросе). – Schorsch

+1

Или выключите линии сетки, но оставьте тики, а затем нарисуйте свои линии сетки вручную - 'для (v = MyPeaks), строки ([vv], ylim, 'linestyle', '-', 'color', 'black'); end' - шаблон для этого. –

+0

Или, наоборот, нарисуйте тики вручную, используя выше, но с более короткими линиями. –

ответ

2

Как предложил Хью Нолан, ручное добавление линий сетки - один из способов решения проблемы. Следующий код будет делать трюк:

%Grid line locations 
x_lines = listOfTheoreticalValues; 
y_limits = [lower_y_limit; upper_y_limit]; %Insert desired y-limits here 

y_grid = repmat(y_limits, 1, numel(x_lines)); 
x_grid = [x_lines; x_lines]; 

plot(x_grid, y_grid, ':', 'color', [1,1,1]/2); %First plot grid lines 
hold on 
plot(myData); %Then plot data to draw data on top of grid lines 

xlabel('Frequency'); 
ylabel('Maginute'); 
+0

Это сохраняет линии сетки, но удаляет оригинальные отметки. – Schorsch

+0

Как вы это понимаете, что он удаляет отметки? Возможно, присвоение вектора, содержащего x координаты линий сетки, как «x_ticks», вводит в заблуждение. Однако никаких изменений тика не происходит. Изменит имя этого вектора. –

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