在 Matlab GUI 中设置轴限制
Set axes limits in Matlab GUI
我正在尝试使用 MATLAB GUI 模拟 ECG 信号的实时绘图。出于测试目的,我正在尝试实现一个正弦波,就像实时绘制一样。我使用的 GUI 带有一个开始绘制正弦波的按钮,以及一组标记为 'axes1' 的轴。下面的代码是从开始按钮的回调函数中提取出来的:
%create a sine wave to plot
X=[0:0.1:25*pi];
X=transpose(X);
Y=sin(X);
[a,b] = size(X);
hold on;
%initialise axes limits
axis(handles.axes1,[0,a,-1,1]);
%plot sine wave
for i = 1:a
plot(handles.axes1,1:i,Y(1:i));
drawnow;
pause(0.01);
end
结果是一个移动的正弦波,但我试图预先定义轴限制,这样它们就不会在绘制波形时不断调整大小。我试过使用这条线
axis(handles.axes1,[0,1,-1,1])
要设置轴限制,但它没有像我希望的那样工作,我不确定如何从这一点开始。
在此先感谢您的帮助!
在轴创建过程中将...LimMode
properties设置为手动;这样,当绘制新数据时,它们不应该改变。默认情况下,它们设置为 auto
.
例如:
set(handles.axes,'XLimMode','manual','YLimMode','manual');
我正在尝试使用 MATLAB GUI 模拟 ECG 信号的实时绘图。出于测试目的,我正在尝试实现一个正弦波,就像实时绘制一样。我使用的 GUI 带有一个开始绘制正弦波的按钮,以及一组标记为 'axes1' 的轴。下面的代码是从开始按钮的回调函数中提取出来的:
%create a sine wave to plot
X=[0:0.1:25*pi];
X=transpose(X);
Y=sin(X);
[a,b] = size(X);
hold on;
%initialise axes limits
axis(handles.axes1,[0,a,-1,1]);
%plot sine wave
for i = 1:a
plot(handles.axes1,1:i,Y(1:i));
drawnow;
pause(0.01);
end
结果是一个移动的正弦波,但我试图预先定义轴限制,这样它们就不会在绘制波形时不断调整大小。我试过使用这条线
axis(handles.axes1,[0,1,-1,1])
要设置轴限制,但它没有像我希望的那样工作,我不确定如何从这一点开始。
在此先感谢您的帮助!
在轴创建过程中将...LimMode
properties设置为手动;这样,当绘制新数据时,它们不应该改变。默认情况下,它们设置为 auto
.
例如:
set(handles.axes,'XLimMode','manual','YLimMode','manual');