|
MATLAB GUI中读取txt文件数据按钮回调函数
" ]: k3 ~3 Y: }* J' C( Kfunction ReadData_Callback(hObject, eventdata, handles)# `! ]1 g! @5 E1 p6 \8 J
% hObject handle to ReadData (see GCBO)
% L2 _7 d. G( A! r' _. @5 S- s% eventdata reserved - to be defined in a future version of MATLAB/ t% M, t1 q3 y- w' L' O2 L- B
% handles structure with handles and user data (see GUIDATA)
; Y) B% y9 ~8 Q. C[file path]=uigetfile('*.txt','Choose a File');%读取文件,弹出对话框,提示选择文件
( x& @8 X/ R0 R# P, Pif file==0% |+ r. F! y0 W. `4 |9 Z
warndlg('用户必须选择一个txt文件');0 @, T! `$ }+ D+ q; A- y
else
4 ?5 v% c3 {$ n& t9 | [x0,y0]=textread(fullfile(path,file),'%n%n','headerlines',6);%省略txt文件中前6行,只读取数字,共两列数据1 V2 ~% i/ z& g+ r/ R4 ~ j: l
handles.x0=x0;%将读取的第一列数据x0放到 handles结构体中,以便其他函数可以直接调用1 ~+ d" P1 q6 ^
handles.y0=y0;%将读取的第二列数据y0放到 handles结构体中,同上; O' \: X8 x3 c9 ]1 \0 @- | D( w# O+ ]
plot(handles.axes1,x0,y0);%通过handles.axes1访问绘图区域,并将数据绘制在绘图区; t3 b$ `! w! {
end( ?+ \9 c+ v$ M# H) I1 V5 N
% Update handles structure$ L( b5 z* z! ?: S5 k
guidata(hObject, handles);
7 r' W. z8 W, ^5 }%通过handles.axes1访问绘图区域: Y8 b! L* ^; }* X4 m/ A- g
%axes1对象属性中,nextplot为replace时,每次绘图均覆盖,为add时,就可以叠加了 ?; {( ]8 _% F3 e: S1 i
, J# N, ]5 n3 P不知道这个是不是你想要的。5 [+ k: r2 V% P2 A, P
|
|