2013-05-20 4 views
1

Я создаю графический интерфейс в Matlab. У меня есть несколько осей, в которых я рисую разные графики. Я установил в некоторых из осей свойство XTick - []. Тем не менее, каждый раз, когда я рисую новый график в тех же осях, снова появляются xticks. Я знаю, что их можно удалить с помощью set:Сюжет переопределяет топоры свойство «XTick»

set(handles.axes_0, 'XTick', []); 

Однако, это создает эффект «мерцания»: вы видите клещи появляются и затем исчезающий каждый раз, когда я сюжет что-то новое.

Знаете ли вы, как я мог бы иметь оси с отключенным XTick, избегая мерцающего эффекта?

Некоторые базовый код:

figure(1); %create new figure 
set(gca, 'XTick', []); %Disable xtick 
plot([1 2 ], [2, 3]); %Plot something. Xtick appears again 
set(gca, 'XTick', []); %Disable xtick until next plot 
+1

Почему вы не ждете окончания конца графика и затем отключите тики? – Shai

+0

Что я делаю, я нарисовал окно сигнала (60 секунд), но когда пользователь кликнул слайдером, я построю другое окно (следующее или предыдущее). И именно тогда вы можете увидеть, как появятся и исчезнут стрелки. – Digna

+1

bugger пользователей ... не можете ли вы получить другой? – Shai

ответ

1

Как Shai отметил в комментарии, при использовании hold on тики не появляются. Поскольку я хочу очистить предыдущий график перед его рисованием, я ищу его идентификатор, используя findobj, а затем удаляю его. Наконец, я рисую новый сюжет с hold on. Пример (предположим, что рукоятка осей называется handles.axes_0):

h = findobj(handles.axes_0,'Type','line'); 
if ~isempty(h) 
    delete(h); 
end 
hold on 
plot(handles.axes_0,x,y); 
hold off 
+0

+1 очень хорошая работа! – Shai

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