如何在matlab中的图表上使用滑块
How to use slider on graph plot in matlab
我正在使用 audioread 来绘制音频的音频信号 file.What 我想要的是沿着绘图的 x 轴使用滑块,这样我可以更清楚地看到绘图的完整图像以 space
的相同数量水平扩展它
我写了下面的代码,请帮忙看看如何在代码中添加滑块:
function upload_Callback(hObject, eventdata, handles)
filename = uigetfile({'*.mp3';'*.wav';'*.wma';'*.ogg';'*.*'},'File Selector');
handles.filename=filename;
guidata(hObject,handles);
[y,fs] = audioread(filename);
dt = 1/fs;
t = 0:dt:(length(y)*dt)-dt;
N=length(y);
slength=N/fs;
handles.t=slength;
set(handles.audio_duration,'String',num2str(handles.t));
plot(handles.audio_signal,t,y);
xlabel(handles.audio_signal,'')
ylabel(handles.audio_signal,'Amplitude')
我希望 x 轴为 50s 并有一个滚动条,这样我就可以在已经分配给图形
的同一个 space 中一次清楚地看到 200s 音频文件的结果 50s ]
下面的代码只是一个片段,但我想你明白了。只需将一个 uicontrol 元素(滑块)放入您的 gui 并附加一个回调函数。如果您移动该滑块,回调函数将被执行,您可以使用滑块中的值来设置轴限制。
h = uicontrol('style','slider','position',[100 250 300 20],'min',0,'max',5,'callback',@fct);
function fct(source,eventdata)
n=get(h,'value');
plot(x,y);
xlim([0 n])
end
我正在使用 audioread 来绘制音频的音频信号 file.What 我想要的是沿着绘图的 x 轴使用滑块,这样我可以更清楚地看到绘图的完整图像以 space
的相同数量水平扩展它我写了下面的代码,请帮忙看看如何在代码中添加滑块:
function upload_Callback(hObject, eventdata, handles)
filename = uigetfile({'*.mp3';'*.wav';'*.wma';'*.ogg';'*.*'},'File Selector');
handles.filename=filename;
guidata(hObject,handles);
[y,fs] = audioread(filename);
dt = 1/fs;
t = 0:dt:(length(y)*dt)-dt;
N=length(y);
slength=N/fs;
handles.t=slength;
set(handles.audio_duration,'String',num2str(handles.t));
plot(handles.audio_signal,t,y);
xlabel(handles.audio_signal,'')
ylabel(handles.audio_signal,'Amplitude')
我希望 x 轴为 50s 并有一个滚动条,这样我就可以在已经分配给图形
的同一个 space 中一次清楚地看到 200s 音频文件的结果 50s ]下面的代码只是一个片段,但我想你明白了。只需将一个 uicontrol 元素(滑块)放入您的 gui 并附加一个回调函数。如果您移动该滑块,回调函数将被执行,您可以使用滑块中的值来设置轴限制。
h = uicontrol('style','slider','position',[100 250 300 20],'min',0,'max',5,'callback',@fct);
function fct(source,eventdata)
n=get(h,'value');
plot(x,y);
xlim([0 n])
end