|
|
MATLAB GUI中读取txt文件数据按钮回调函数
3 Z( M3 c5 v5 j6 S2 Jfunction ReadData_Callback(hObject, eventdata, handles)
3 [/ ~& h9 S7 A4 N) X; l0 H% hObject handle to ReadData (see GCBO)4 I9 A% n+ k* d- z! a& a3 |
% eventdata reserved - to be defined in a future version of MATLAB
2 K w7 q! r8 t7 z6 O% handles structure with handles and user data (see GUIDATA)* }8 L5 E4 d8 S, Q. `+ D7 B: T& P
[file path]=uigetfile('*.txt','Choose a File');%读取文件,弹出对话框,提示选择文件
2 R6 b4 b( S! d s# Fif file==0
2 _+ T$ {! F3 a! l& f. y; C% r warndlg('用户必须选择一个txt文件');
1 `2 `: l0 r9 w5 f4 velse* x9 c# ^# \* x* k
[x0,y0]=textread(fullfile(path,file),'%n%n','headerlines',6);%省略txt文件中前6行,只读取数字,共两列数据
& [0 c0 d7 M1 S' J handles.x0=x0;%将读取的第一列数据x0放到 handles结构体中,以便其他函数可以直接调用
* L: d# v1 z) S& K. j/ C handles.y0=y0;%将读取的第二列数据y0放到 handles结构体中,同上
* |# y5 u6 ^: }" x plot(handles.axes1,x0,y0);%通过handles.axes1访问绘图区域,并将数据绘制在绘图区
" j- J& \- ~1 S, t& A$ H' ?end! B3 C2 ~% C) a+ e# T5 n9 B: v
% Update handles structure4 r* |$ a: Q6 v5 n' B9 T
guidata(hObject, handles);5 ]* T) q; C0 Y; u% j
%通过handles.axes1访问绘图区域. y, A0 J4 {# T+ J% l, X" X
%axes1对象属性中,nextplot为replace时,每次绘图均覆盖,为add时,就可以叠加了
8 i' p' C9 x* N& m
, g( s- N; P( i不知道这个是不是你想要的。$ x% M% ?: Z! V# N" ~( i
|
|