我在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
答案 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