310 likes | 1.19k Views
Introduction to MATLAB Lecture 3: Data Visualization & User Interfaces Damon Tomlin February 22, 2008 A quick word about SPM . . . This can be a little intimidating . . . “Any sufficiently advanced technology is indistinguishable from magic.” -- Arthur C. Clarke, possibly describing SPM
E N D
Introduction to MATLAB Lecture 3: Data Visualization & User Interfaces Damon Tomlin February 22, 2008
A quick word about SPM . . . This can be a little intimidating . . .
“Any sufficiently advanced technology is indistinguishable from magic.” -- Arthur C. Clarke, possibly describing SPM • SPM is three things: • Some functions that work on numbers (your data) • Some functions that display the crunched numbers • A bunch of buttons that run the functions when you press them
Overview of MATLAB Graphics • Figures • Axes • UI Objects • Handles • If you can see it, it has a handle. • Some things you can’t see have handles, too. • Use handles to manipulate properties.
Handles & Properties • Figures, axes, and graphics have handles, just like files • These objects have properties • These properties can be altered
How many ways can we look at data? • 2D line plots • Pseudocolor Images • Histograms • 3D shapes
2D Plots • plot(x,y); • plot([x1 x2 x3],[y1 y2 y3]); • plot(x1,y1,’r.’,x2,y2,’b-’);
Images • imagesc • Pseudocolor • Colormaps • image • M x N x 3 matrix
Histograms • hist • designate bins • bar • generic bar graph
3D Visualization • Surface plots • Color • Transparency • Mesh plots • 3D shapes
Making Visualizations More Informative • xlabel, ylabel, zlabel • title • legend
Other handy functions • subplot(rows,columns,number) • Axis([xmin xmax ymin max]) • set(handle,’PropertyName’,value, . . .); • get(handle,’PropertyName’)
What’s a Graphical User Interface? (GUI) • Figure windows • Buttons, menus, sliders, etc. • Appearance changes depending on inputs & outputs • Eliminates command line typing
Demystifying GUI’s • Interface objects have properties • Style – type of object • String – text associated with object • Callback – what the object does • Value – current value of object • What these properties mean depends on the type (Style) of object created
UI Styles: Buttons • Buttons cause commands to be executed • Style – pushbutton • String – text on the button • Callback – string containing command(s) executed by button • Value – not important
The Eval Function • Executes a string as though it were a command typed into a command window or function • Example 1: eval(‘disp(a);’); • Example 2: eval([‘save ‘ FileName ‘ a b;’]);
Callbacks and Eval • Callbacks are assigned within functions • Callbacks are executed outside functions • (usually) • Therefore, any variables a callback needs have to be stored somehow.
UI Styles: Radio Buttons • Style – radiobutton • String – text on the button • Value – whether button is pushed in or out • Callback – exclusivity code & additional functions • Used in sets for mutually exclusive, boolean options
UI Styles: Check Boxes • Style – checkbox • String – text on the box • Value – whether button is checked • Callback – often nothing, unless switching the option’s value executes a function • Used for boolean options
UI Styles: Edit Windows • Style – edit • String – text in the box • Value – not used • Callback – function executed when Enter key is pressed • Used for typed inputs of names & values
UI Styles: Slider Bars • Style – slider • String – not used • Value – position of slider – between Max and Min • Callback – function executed when slider is moved • Used when a variable can take on a spectrum of values
UI Styles: Text Boxes • Style – text • String – text in the box • Value – not used • Callback – not used • Used for displaying information, entitling portions of a GUI
UI Styles: Frames • Style – Frame • String – not used • Value – not used • Callback – not used • Used for grouping other objects visually
UI Styles: List Boxes • Style – listbox • String – cell array of each possible choice • Value – currently highlighted selection • Callback – function executed when an item is selected • Used for selecting options when their names and numbers may change
UI Styles: Pop Up Menus • Style – popupmenu • String – cell array of each possible choice • Value – currently selected option • Callback – function executed when an item is selected • Used for selecting options in a more compact manner
Useful Functions • set – change something’s properties • get – find out what something’s properties • guidata – attach data to/pull data from GUI
Summary • MATLAB has lots of functions to help you look at your data • You can connect functions to GUI’s so you don’t have to type as much • As we’ll see, this is exactly what SPM does.