1 Wykład 4 Dr Aneta Polewko-Klimhttps://play.google.com
2 36. Uchwyty (handless) plot(1:11,‘*:') h = findobj;Każdy element graficzny wyświetlony w oknie wykresu ma swój uchwyt. Wykorzystując uchwyty możemy mieć dostęp do wszystkich elementów okna graficznego. W celu uzyskania głównych uchwytów stosujemy funkcję findobj . Przykład plot(1:11,‘*:') h = findobj; >>h =
3 36. Uchwyty (handless) >> get(h,'type')Możemy również wywołać w bardziej zrozumiałej składni: Przykład cd. >> get(h,'type') ans = 'root' 'figure' 'axes' 'line'
4 Ustawienia parametrów graficznych - funkcja setMając uchwyt do danego elementu graficznego możemy zmienić jego parametry. W tym celu korzystamy z funkcji set(uchwyt, parametr,'wartość) >> set(h(4), 'Marker', ‘o', 'MarkerSize', 20) Przykład
5 Pobieranie parametrów graficznych - funkcja getMając uchwyt do danego elementu graficznego możemy sprawdzić jego parametry. W tym celu korzystamy z funkcji get(uchwyt, parametr) >> get(h(4), 'Marker') Przykład
6 Inne funkcje związane z grafiką uchwytów -przykłady
7 37. Graficzny system komunikacji z użytkownikiem (GUI)GUI (ang. Graphical User Interface, GUI) pozwala dodać do grafiki Matlaba interaktywność, czyli możliwość reagowania na polecenia użytkownika. W Matlabie mamy do dyspozycji m.in.. przyciski, przełączniki, listy itd. Koncepcja graficznego systemu polega na realizacji dwóch zasad: - budowaniu wyglądu aplikacji ze standardowych elementów graficznych o prostym wyglądzie; tworzeniu aplikacji o działaniu sterowanym zdarzeniami; Pierwsza zasada realizowana jest przez wykorzystanie elementów takich jak przyciski, suwaki itp. druga, poprzez przypisanie do każdego z tych elementów procedury, która wykona odpowiednie zadanie związane z tym elementem.
8 Dostępne elementy komunikacji:przycisk (pushbutton) przełącznik (togglebutton) pole edycyjne (edit) pole wyboru z możliwością wyboru kilku opcji (checkbox) pole wyboru z możliwością wyboru tylko jednej opcji (radiobutton) ramka (frame) pole tekstowe (text) lista (listbox) lista rozwijana (popupmenu) suwak (slider)
9 Hierarchia obiektów graficznych w systemie.
10 Tworzenie obiektów GUI.Do tworzenia obiektów GUI typu przycisk służy funkcja uicontrol. Może mieć dwa różne wywołania: id = uicontrol( własność, wartość,...) id = uicontrol( idf, własność, wartość,...) Do tworzenia elementów menu mamy funkcję: id = uimenu( własność, wartość,...) id = uimenu( idf, własność, wartość,...) idf - identyfikator przodka w obrębie którego będzie tworzony obiekt id - jest identyfikator tworzonego obiektu.
11 Tworzenie menu
12 Przyciski – funkcja uimenuSkładnia (Matlab help) handle = uimenu('PropertyName',PropertyValue,...) handle = uimenu(parent,'PropertyName',PropertyValue,...) Przykład f = uimenu('Label','Workspace'); uimenu(f,'Label','New Figure','Callback','figure'); uimenu(f,'Label','Save','Callback','save'); uimenu(f,'Label','Quit','Callback','exit',... 'Separator','on','Accelerator','Q');
13 Własności obiektów uimenu .
14 Przykład
15 Przykład
16
17 Przykład – funkcja makemenu
18 Tworzenie obiektów interfejsu użytkownika w GUI
19 Przyciski – funkcja uicontrolSkładnia (Matlab help) handle = uicontrol('PropertyName',PropertyValue,...) handle = uicontrol(parent,'PropertyName',PropertyValue,...) Przykład
20 Własności obiektów uicontrol.
21 38. Wbudowane standardowe okienka -inputdlgIlość linii zwiększa ilość wyświetlanych linii w polach edycyjnych okienka. Wartości domyślne zatwierdzamy przyciskiem OK. Jest to tablica komórkowa, więc aby skorzystać z jej zawartości trzeba się odpowiednio odwołać. Jeśli wciśniemy klawisz Cancel, wynikiem także będzie tablica komórkowa, ale o rozmiarze 0x0. Jak widać ilość linii zwiększa po prostu ilość wyświetlanych linii w polach edycyjnych okienka. Wartości domyślne możemy zatwierdzić przyciskiem OK, lub wpisać na ich miejsce coś innego. Zawartość pól edycyjnych zostanie wpisana wtedy do zmiennej rezultat. Jest to tablica komórkowa, więc aby skorzystać z jej zawartości trzeba się odpowiednio odwołać. Jeśli wciśniemy klawisz Cancel, wynikiem także będzie tablica komórkowa, ale o rozmiarze 0x0.
22 38. Wbudowane standardowe okienka - helpdlg
23 38. Wbudowane standardowe okienka - msgbox
24 39. Wbudowane standardowe okienka - axlimdlgOkienko służy do zmiany rodzaju i skali osi współrzędnych. Wywołanie to sama nazwa: axlimdlg lub axlimdlg('Tytuł',[1 1],str2mat('Zakres x','Zakres y'))
25 39. Wbudowane standardowe okienka - uiputfileW takim wywołaniu podajemy domyślną nazwę pliku i nazwę okienka. Funkcja ta wyświetla okienko umożliwiające wprowadzenie nowej nazwy pliku i ścieżki dostępu w celu zapisania pliku pod podaną nazwą. [nazwa_pliku, sciezka]=uiputfile('matlab.m','Zapisz jako')
26 39. Wbudowane standardowe okienka - uiputfileMożemy podać szablon nazw wyświetlanych na liście plików. [nazwa_pliku, sciezka]=uiputfile({'*.jpg','grafika (*.jpg)';... '*.m;*.fig;*.mat;*.mdl';... 'Pliki Matlaba (*.m, *.fig, *.mat, *.mdl)';... '*.ja','moje wlasne rozszerzenie (*.ja)'},... 'Zapisz jako') nazwa_pliku = kkkkk.jpg sciezka = C:\Tools\matlabR12\work\ { "@context": "http://schema.org", "@type": "ImageObject", "contentUrl": "http://slideplayer.pl/12087289/70/images/26/39.+Wbudowane+standardowe+okienka+-+uiputfile.jpg", "name": "39. Wbudowane standardowe okienka - uiputfile", "description": "Możemy podać szablon nazw wyświetlanych na liście plików. [nazwa_pliku, sciezka]=uiputfile({ *.jpg , grafika (*.jpg) ;... *.m;*.fig;*.mat;*.mdl ;... Pliki Matlaba (*.m, *.fig, *.mat, *.mdl) ;... *.ja , moje wlasne rozszerzenie (*.ja) },... Zapisz jako ) nazwa_pliku = kkkkk.jpg. sciezka = C:\Tools\matlabR12\work\", "width": "1024" }
28 41. Wbudowane standardowe okienka - uisetcolorOkienko dialogowe umożliwiające wybór koloru w standardzie RGB. Funkcja zwraca wektor koloru w standardzie RGB. Wywołanie: nazwa funkcji, dodatkowo możemy podać argumenty identyfikator obiektu, dla którego mamy zmienić kolor, oraz tytuł wyświetlanego okienka. >> k=uisetcolor('Koloooory') k =
29 42. Wbudowane standardowe okienka - uisetfont.Funkcja wyświetla okienko umożliwiające zmianę czcionki. Jako argumenty podajemy identyfikator obiektu typu text lub axes, oraz tytuł wyświetlanego okienka. Funkcja zwróci strukturę zmienionej czcionki. Oba parametry funkcji są opcjonalne. uisetfont('Zmieniamy czcionkę') ans = FontName: 'Briquet' FontUnits: 'points' FontSize: 20 FontWeight: 'normal' FontAngle: 'normal'
30 Eksploracja danych -nazewnictwo