Plot覆盖axes属性'XTick'

时间:2013-05-20 13:40:20

标签: matlab plot matlab-guide

我在Matlab中创建一个GUI。我有几个轴,我在其中绘制不同的图形。我已将某些轴设置为XTick[]。但是,每次我在同一轴上绘制新图形时,xticks会再次出现。我知道我可以使用set删除它们:

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 个答案:

答案 0 :(得分:1)

正如Shai在评论中指出的那样,当使用hold on时,不会重新出现。由于我想在绘制新图之前清理前一个图,我使用findobj搜索其标识符然后将其删除。最后,我用hold on绘制新的情节。示例(假设axis句柄称为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