Você está na página 1de 20

Traando Grficos no MATLAB

http://www.mec.ita.br/~adade/Matlab/Web/graficos.htm

MATLAB BSICO Prof. Alberto Adade Filho (ITA/CTA)

ndice Seo Anterior 20. Traando Grficos no MATLAB i. Introduo ii. Forma Bsica iii. Diagramas Polares iv. Curvas no Espao Tridimensional v. Particionamento da Tela vi. Ttulos, Rtulos, Texto, Grade vii. Controle de Telas e de Escalas viii. Estilo de Linhas, Marcaes e Cores ix. Grficos de Superfcies x. Preparao de Grades de Dados e Plotagem xi. Impresso de Grficos xii. Manipulao de Grficos i. Introduo Os principais tipos de grficos proporcionados so: plot / plot3 : linear X-Y / linear X-Y-Z loglog : log-log X-Y semilogx / semilogy : semilog X-Y (eixo X logartmico/eixo Y logartmico, respectivamente) polar : diagrama polar mesh / surf : superfcie malha tridimensional / superfcie facetada tridimensional stairs : prprio para sinais amostrados hist, bar : histograma Obs. A sada grfica mostrada em janela(s) diferente(s) da janela de comandos.
Retorna.

ii. Forma Bsica plot (Y) : produz um grfico linear dos elementos do vetor Y pelos ndices de Y. Se Y for uma matriz, plotada uma curva para cada coluna de Y; o eixo x rotulado de 1 a m, onde m o
1 de 20

12/05/2012 15:42

Traando Grficos no MATLAB

http://www.mec.ita.br/~adade/Matlab/Web/graficos.htm

nmero de linhas em Y. Nesta forma bsica, as escalas so estabelecidas automaticamente, bem como os eixos coordenados. Como visto no exemplo a seguir, pode-se melhorar a sada dando-se ttulo ao grfico e rtulos aos eixos. Ex. y = [ 0 0.6 0.9 0.1 0.8 0.3 0.4]; plot(y) title ('Grficos - Teste 01') xlabel ('eixo X') ylabel ('eixo Y')

Dados dois vetores de mesma dimenso, x e y, pode-se traar o grfico de y versus x atravs do comando plot(x,y). Ex. t = 0 : .1 : 4*pi; y = sin(t); plot(t,y,'r') title('Grficos - Teste 02') xlabel('t') ylabel('sent')

2 de 20

12/05/2012 15:42

Traando Grficos no MATLAB

http://www.mec.ita.br/~adade/Matlab/Web/graficos.htm

Mltiplas curvas podem ser traadas no mesmo grfico com o comando, plot (t1,y1,t2,y2,...,tn,yn) que plota y1xt1, y2xt2, ..., ynxtn. Neste caso, t1, t2,...,tn podem ter tamanhos diferentes. Ex. t = 0 : .1 : 3*pi; y = sin(t); z=exp(-0.3*t) .* cos(t); w = t .* sin(t); plot(t,y, 'r',t,z, 'g',t,w, 'm') xlabel('t', 'Color', 'b') ylabel('Funes', 'Color', 'b') title('Grficos - Teste 03', 'Color', 'b') text(2,0.8, 'SENO') text(6,6, 't * SENO') text(1,-1,'EXP * COSENO')

3 de 20

12/05/2012 15:42

Traando Grficos no MATLAB

http://www.mec.ita.br/~adade/Matlab/Web/graficos.htm

Neste exemplo so usadas diferentes cores para as curvas e os rtulos dos eixos e o ttulo do grfico so escolhidos na cor azul. Obs 1. O comando plot(x,Y), x vetor e Y matriz, plota as linhas ou colunas de Y versus x. A seleo de linhas ou colunas feita em funo do casamento com o nmero de elementos em x. Para Y quadrada, so plotadas as colunas de Y versus x.

Obs 2. O comando plot(X,Y), X e Y matrizes de mesma dimenso, plota as colunas de Y versus as colunas de X.

Obs 3. Quando o argumento para plot complexo, a parte imaginria ignorada exceto quando o argumento for nico, onde ento plotada a parte real versus a parte imaginria. Portanto, plot(Z), Z matriz complexa, equivalente a plot(real(Z),imag(Z)).
Retorna.

iii. Diagramas Polares Ex 1. Traar a funo r = cos(2q ) num diagrama polar. th = (pi/200 : pi/200 : 2*pi)' ; r = cos(2*th); polar(th,r) , grid

4 de 20

12/05/2012 15:42

Traando Grficos no MATLAB

http://www.mec.ita.br/~adade/Matlab/Web/graficos.htm

Obs. 1 Usar o comando hold se houver necessidade de adicionar mltiplas curvas ao mesmo grfico.

Obs. 2 Reticulado pode ser includo e removido de um grfico (grid on, grid off). Ex 2. Plotar a funo R = k q , k = 1 / 2p , num diagrama polar. R = th / (2*pi) ; polar (th,R), grid

Retorna.

iv. Curvas no Espao Tridimensional plot3(x,y,z) : produz uma perspectiva (projeo bi-dimensional) da curva linear-por-partes que passa pelos pontos cujas coordenadas so os elementos de x, y e z, vetores de mesma dimenso. Ex. Seja a curva parametrizada, t = 0.01 : .05 : 10*pi;

5 de 20

12/05/2012 15:42

Traando Grficos no MATLAB

http://www.mec.ita.br/~adade/Matlab/Web/graficos.htm

x = cos(t); y = sin(t); z = t .^3; plot3(x,y,z,'r')

Obs. O comando zlabel permite acrescentar um rtulo ao eixo z.


Retorna.

v. Particionamento da Tela A tela pode ser particionada em at quatro janelas, permitindo, deste modo, mostrar vrios grficos simultaneamente. O comando para isso : subplot(r,c,p) A tela particionada em r x c janelas e p a janela atual. Por exemplo, subplot(2,1,2) particiona a tela em duas janelas na vertical e coloca o grfico corrente na segunda janela. Ex: clf ; % limpa a tela grfica wt = 0 : 0.05 : 3*pi; x = sin(wt); y = sin(wt - pi/4); subplot(1,2,1), plot(wt,x,'r',wt,y,'g'); xlabel('wt - radianos) subplot(1,2,2), plot (x,y,'b'); xlabel('x=sen(wt)'); ylabel('y=sen(wt-pi/4)')

6 de 20

12/05/2012 15:42

Traando Grficos no MATLAB

http://www.mec.ita.br/~adade/Matlab/Web/graficos.htm

Retorna.

vi. Ttulos, Rtulos, Texto, Grade title('Ttulo','Propriedade1', 'Valor1', 'Propriedade2', 'Valor2') xlabel('Rtulo do eixo-X','Propriedade1, 'Valor1') ylabel('Rtulo do eixo-Y') zlabel('Rtulo do eixo-Z') grid : coloca reticulado no grfico. gtext('Texto para anotao'); % texto posicionado na tela pelo mouse text(x,y,'Texto para anotao'); % coloca o texto na posio especificada por x e % y, nas unidades do ltimo grfico
Retorna.

vii. Controle de Tela e de Escalas shg : mostra a tela grfica; clf : limpa a tela grfica; hold on, (hold off) : mantm (ou no) o grfico atual na tela tal que outros grficos podem ser superpostos (nos mesmos eixos). gcf : retorna o nmero da figura atual; figure : abre uma nova janela para grficos; figure(k) expe a k-sima figura e a torna a figura atual. As escalas dos eixos so estabelecidas automaticamente. Para alterar o ajuste inicial assumido, usa-se o

7 de 20

12/05/2012 15:42

Traando Grficos no MATLAB

http://www.mec.ita.br/~adade/Matlab/Web/graficos.htm

comando axis ([x_min,x_max,y_min,y_max]), em seguida ao comando plot. O comando axis sozinho retorna os limites dos eixos em uso; axis(auto) propicia ajuste automtico dos eixos; axis(axis) fixa os limites de eixos nos valores atuais; axis(equal) estabelece incrementos iguais para os eixos; axis(normal) restaura o padro normal; axis(off) apaga todos os rtulos e marcas dos eixos; axis(image) ajusta "razo de aspecto" e limites dos eixos para representar imagens com pixels quadrados. Obs. Para grficos tridimensionais: axis([x_min, x_max, y_min, y_max, z_min, z_max])
Retorna.

viii. Estilos de Linhas, Marcaes e Cores O estilo da linha/smbolo utilizada na plotagem bem como a cor podem ser definidos atravs de um argumento para a funo plot: plot(x,y,S) onde S uma string de 1, 2 ou 3 caracteres (entre apstrofos) construda a partir dos caracteres mostrados na tabela abaixo: Smbolo y m c r g b w k Cor amarela magenta cyan vermelha verde azul branca preta Smbolo
x +

Estilo da Linha ponto crculo

* : --

asterisco linha cheia dois pontos trao-ponto linha pontilhada

Obs. A ordem das cores conforme listadas na tabela acima a seqncia pr-ajustada. Esta seqncia pode ser alterada modificando-se a propriedade ColorOrder (vide seo 20.xii). Ex. t = 0 : pi/100 : 2*pi;

8 de 20

12/05/2012 15:42

Traando Grficos no MATLAB

http://www.mec.ita.br/~adade/Matlab/Web/graficos.htm

x = sin(t); y1 = sin(t+0.25); y2 = sin(t+0.5); plot(x,y1, 'r-',x,y2, 'g--')

Retorna.

ix. Grficos de Superfcies mesh : mesh(v) cria uma perspectiva tridimensional dos elementos da matriz v. A superfcie em malha, criada pelo comando mesh, definida pelas coordenadas-Z (alturas) dos pontos acima de uma grade retangular no plano X-Y. surf : semelhante funo mesh s que a superfcie sombreada. Supor que se queira plotar z = f(x,y), onde x e y definem o domnio de f. Procede-se como segue: 1) Definir os vetores x e y em seus intervalos de valores; 2) Gerar um plano correspondente ao domnio. A superfcie em malha construda no topo deste plano com alturas determinadas pelos valores da funo; 3) O comando meshgrid produz este plano criando duas matrizes com linhas e colunas repetidas dos vetores x e y; 4) Finalmente, a funo calculada nos elementos das matrizes resultantes. A funo mesh (ou a funo surf) ento aplicada sobre o resultado. Ex 1. Plotar um grfico de superfcie do valor absoluto da funo,

para -3 s 3 e -3 w 3.

9 de 20

12/05/2012 15:42

Traando Grficos no MATLAB

http://www.mec.ita.br/~adade/Matlab/Web/graficos.htm

w = linspace(-3,3,50); % cria vetor com 50 elementos linearmente espaados %entre -3 e 3 s = linspace(-3,3,50); [W,S] = meshgrid(w,s); re = S .^2 - W .^2 + S + 1; im = 2 * S .* W + W; den = re + j * im; g = 1 ./ abs(den); mesh(s,w,g)

Obs. 1 O ponto de visada do grfico pode ser alterado atravs do comando view (azimute, elevao).

Obs. 2 waterfall(g) produziria um grfico semelhante ao proporcionado pelo comando mesh acima, exceto que as linhas relativas s colunas no seriam traadas no grfico.

Ex. 2. n = 30; a = 1; r = 0.5; teta = pi * (0 : 2 : 2 * n) / n; fi = 2 * pi * (0 : 2 : n)' / n; x = (a + r * cos(fi)) * cos(teta); y = (a + r * cos(fi)) * sin(teta); z = r * sin(fi) * ones(size(teta)); surf(x,y,z)

10 de 20

12/05/2012 15:42

Traando Grficos no MATLAB

http://www.mec.ita.br/~adade/Matlab/Web/graficos.htm

q = (a + r)/sqrt(2); axis([-q,q,-q,q,-q,q])

Nesses tipos de grficos utilizada a palheta (mapa) de cores vigente. A funo colormap estabelece o mapa de cores a ser utilizado, alterando o ajuste predefinido. O comando help color lista os mapas de cores. No exemplo anterior o comando, colormap(cool(6)); % estabelece uso do mapa de cores cool ( tons variados de %violeta e azul), em seis tonalidades, no caso. alteraria as cores utilizadas no sombreamento das superfcies do toride. Obs. Uma matriz definindo o mapa de cores tem dimenso nx3. Cada linha interpretada como uma cor, onde o primeiro elemento especifica a intensidade de luz vermelha, o segundo, verde e o terceiro, azul. A intensidade da cor pode ser especificada no intervalo de 0 a 1.
Retorna.

x. Preparao de grades de dados e plotagem Para se produzir um grfico de superfcie (ou de nveis) de vetores x, y e z (z = f(x,y)), z deve ser mapeado para uma grade retangular x-y. Algumas vezes os dados no esto igualmente espaados e a funo de plotagem pode exigir isso (p. ex. contour). O exemplo a seguir mostra como se prepara grades de dados e como se gera dados igualmente espaados, quando necessrio. Basicamente faz-se uso da funo griddata que interpola os dados permitindo gerar dados igualmente espaados para fins de plotagem. Ex. Sejam x, y, z vetores de dados espaados de forma irregular: x=[-1 -0.5 0. 0.2 0.8 1.4 1.7 2.5 3.5 4.0]; y=[-2 -1.2 -1.0 0 0.3 0.9 1.5 2.5 3.0 5.0]; z=[-1.5 -2.3 -1.1 0.5 1.9 3.5 2.0 0 4.8 3.1]; xmin=min(x); ymin=min(y); xmax=max(x); ymax=max(y);

11 de 20

12/05/2012 15:42

Traando Grficos no MATLAB

http://www.mec.ita.br/~adade/Matlab/Web/graficos.htm

xi=xmin:0.05*(xmax-xmin):xmax; yi=ymin:0.05*(ymax-ymin):ymax; zi = griddata(x,y,z,xi',yi); % preenche a grade definida por xi e yi interpolando % valores originais de x,y,z contour(xi,yi,zi); % plota um grfico de curvas de nvel, tratando os valores de zi % como alturas acima de um plano definido por xi e yi.

Obs. A funo contour (x,y,z) representa os valores de x e y que correspondem a um dado valor (nvel) de z.

Obs. Valores de z podem ser colocados no grfico usando-se o comando clabel (p. ex. cl = contour(xi,yi,zi); clabel(cl) ).

No exemplo acima, alternativamente poder-se-ia utilizar o comando meshgrid para se gerar a nova grade igualmente espaada: x1 = linspace(min(x), max(x), 8); % define a grade X y1 = linspace(min(y), max(y), 10); % define a grade Y [xi,yi] = meshgrid(x1,y1); % produz a nova grade zi=griddata(x,y,z,xi,yi) contour(x1,y1,zi) A sada de meshgrid est mostrada abaixo; note-se que as linhas de xi so iguais assim como as colunas de yi: xi = -1.0000 -0.2857 0.4286 1.1429 1.8571 2.5714 3.2857 4.0000

12 de 20

12/05/2012 15:42

Traando Grficos no MATLAB

http://www.mec.ita.br/~adade/Matlab/Web/graficos.htm

-1.0000 -0.2857 0.4286 1.1429 1.8571 2.5714 3.2857 4.0000 -1.0000 -0.2857 0.4286 1.1429 1.8571 2.5714 3.2857 4.0000 -1.0000 -0.2857 0.4286 1.1429 1.8571 2.5714 3.2857 4.0000 -1.0000 -0.2857 0.4286 1.1429 1.8571 2.5714 3.2857 4.0000 -1.0000 -0.2857 0.4286 1.1429 1.8571 2.5714 3.2857 4.0000 -1.0000 -0.2857 0.4286 1.1429 1.8571 2.5714 3.2857 4.0000 -1.0000 -0.2857 0.4286 1.1429 1.8571 2.5714 3.2857 4.0000 -1.0000 -0.2857 0.4286 1.1429 1.8571 2.5714 3.2857 4.0000 -1.0000 -0.2857 0.4286 1.1429 1.8571 2.5714 3.2857 4.0000 yi = -2.0000 -2.0000 -2.0000 -2.0000 -2.0000 -2.0000 -2.0000 -2.0000 -1.2222 -1.2222 -1.2222 -1.2222 -1.2222 -1.2222 -1.2222 -1.2222 -0.4444 -0.4444 -0.4444 -0.4444 -0.4444 -0.4444 -0.4444 -0.4444 0.3333 0.3333 0.3333 0.3333 0.3333 0.3333 0.3333 0.3333 1.1111 1.1111 1.1111 1.1111 1.1111 1.1111 1.1111 1.1111 1.8889 1.8889 1.8889 1.8889 1.8889 1.8889 1.8889 1.8889 2.6667 2.6667 2.6667 2.6667 2.6667 2.6667 2.6667 2.6667 3.4444 3.4444 3.4444 3.4444 3.4444 3.4444 3.4444 3.4444 4.2222 4.2222 4.2222 4.2222 4.2222 4.2222 4.2222 4.2222 5.0000 5.0000 5.0000 5.0000 5.0000 5.0000 5.0000 5.0000 A sada de griddata fornece, zi = -1.5000 -3.6231 -4.8905 -6.5450 -8.8930 -11.9982 -15.9128 -20.6776 -0.8296 -2.1962 -1.9195 -2.9614 -4.7177 -7.3370 -10.8129 -15.1359 1.2699 -0.1449 -0.2184 -0.2944 -1.3831 -3.6384 -6.7121 -10.5358 4.1305 2.1592 1.6928 2.2120 1.2276 -1.0675 -3.6772 -6.8095 7.3417 5.1846 4.1695 3.8075 2.0368 -0.1038 -1.6688 -3.7129 10.5542 7.8979 5.7431 3.5911 1.0790 -0.3326 0.0417 -0.6773 13.7236 10.5569 7.5749 4.6092 1.8257 0.7470 2.9854 2.6068 16.9728 13.5340 10.2637 7.2748 5.0308 4.4986 5.4081 4.2140 20.2952 16.7781 13.4694 10.5543 8.3386 7.0111 5.9422 3.8001 23.5479 20.0203 16.6766 13.6432 11.0167 8.6987 6.2321 3.1000
Retorna.

xi Impresso de Grficos O comando print faz uma cpia de alta resoluo da tela grfica para a impressora. Os valores predefinidos utilizados pelo comando print esto no M-file printopt.m; o usurio pode alterar tais valores editando este arquivo. O comando,

13 de 20

12/05/2012 15:42

Traando Grficos no MATLAB

http://www.mec.ita.br/~adade/Matlab/Web/graficos.htm

print nome-do-arquivo salva o grfico corrente no arquivo especificado; se o arquivo especificado j existir ele substitudo pelo novo, a menos que seja usada a opo append: print -append nome-do-arquivo que acrescenta o grfico corrente ao arquivo existente. Dessa forma, pode-se ter vrios grficos num mesmo arquivo. A verso 4.2 proporciona o recurso de salvar e recarregar um grfico. O comando, print -dmfile nome-do-arquivo cria um M-file contendo as informaes necessrias para posteriormente reproduzir a figura. Esta verso tambm possibilita especificar que janela grfica deve ser impressa, utilizando-se a opo -f. Por exemplo, print -f2 imprime a janela de figura cujo handle (vide sub-seo xii) seja 2, qualquer que seja a janela de figura corrente. Um diagrama de blocos Simulink (software para simulao de sistemas dinmicos, integrado ao Matlab) pode ser impresso usando-se o ttulo da janela, por exemplo, print -ftanques onde tanques entitula a janela Simulink.

Obs. Caso linhas e textos estejam aparecendo na cor preta embora especificadas diferentemente numa impressora colorida, alterar (editando) o arquivo printopt.m, colocando a opo -dwinc em vez de -dwin. Pode-se salvar figuras geradas no MATLAB em quatro formatos de modo que possam ser exportadas para outros programas baseados em Windows: print -dbitmap nome-do arquivo % formato Windows Bitmaps (*.bmp) print -dmeta nome-do-arquivo % formato Windows Metafile (*.wmf) print -dhpgl nome-do-arquivo % formato HP Graphic Language (*.hgl) print -deps nome-do-arquivo % formato Encapsulated Postscript (*.eps) A opo Copy do menu Edit na janela da figura tambm pode ser usada para se transferir uma figura do MATLAB para outra aplicao Windows. O formato PostScript o que apresenta o melhor resultado grfico mas uma impressora compatvel com PostScript tem que ser usada e as figuras, uma vez criadas, no podem ser editadas. O formato HPGL pode ser lido por muitas aplicaes no baseadas em Windows mas os arquivos gerados costumam ser muito grandes. O formato Bitmap o que propicia menor resoluo entre os formatos acima mas todas as cores so
14 de 20

12/05/2012 15:42

Traando Grficos no MATLAB

http://www.mec.ita.br/~adade/Matlab/Web/graficos.htm

capturadas. O formato Windows Metafile capaz de produzir grficos de qualidade prxima a obtida no formato PostScript mas os arquivos s podem ser lidos por programas baseados no Windows. Obs. Na verso 4.2 em diante, como sugestes para exportar grficos no formato Windows Metafile: (1) desabilitar a opo "Copy options: Honor Figure Properties", no menu Edit da janela da figura; (2) digitar o comando system_dependent(14,'on') antes de gerar a figura.
Retorna.

xii Manipulao de Grficos Todo objeto grfico tem um conjunto de propriedades (cor, tamanho, posio etc) associado a ele (e que pode ser especificado) no momento de sua criao. A cada objeto grfico (figure, axes, line, text, patch, surface, image, uicontrol, uimenu) o MATLAB atribui um nmero denominado handle. Uma vez conhecido tal atributo, suas propriedades podem ser alteradas. Para se obter o handle de um grfico, por exemplo, faz-se, handle = plot(x,y) Para se saber quais so as propriedades de um objeto grfico e como alter-las utiliza-se os comandos get e set. A sintaxe bsica para esses comandos como segue: get (handle, NomedaPropriedade) set(handle, NomedaPropriedade, ValordaPropriedade) Para se determinar o valor de uma propriedade do objeto, utiliza-se o comando get como no exemplo: c = get(handle,color). O comando get sem se especificar as propriedades, get(handle), retorna uma lista com todas as propriedades e valores atuais para o objeto correspondente; por exemplo, get (gcf) determina as propriedades associadas com a figura atual (no caso a do exemplo de curvas de nveis) (vide tabela abaixo, lista esquerda). Para se determinar as propriedades de um objeto que podem ser controladas pelo usurio, tecla-se set(handle). Os pr-ajustes (default) opcionais (isto , aqueles que podem ser alterados) so mostrados entre chaves {}; por exemplo, set(gcf) retorna, para a figura em foco, a lista direita, get (gcf) BackingStore = on Color = [1 1 1] Colormap = [ (64 by 3) ] CurrentAxes = [0.000366211] CurrentCharacter = CurrentMenu = [1] CurrentObject = [1] CurrentPoint = [206 10] FixedColors = [ 000 111 set(gcf) BackingStore: [ {on} | off ] Color Colormap CurrentAxes CurrentObject InvertHardcopy: [ on | {off} ] KeyPressFcn MenuBar: [ none | {figure} ] MinColormap Name NextPlot: [ new | {add} | replace ] NumberTitle: [ {on} | off ]

15 de 20

12/05/2012 15:42

Traando Grficos no MATLAB

http://www.mec.ita.br/~adade/Matlab/Web/graficos.htm

110 101 011 100 010 001 ] InvertHardcopy = on KeyPressFcn = MenuBar = figure MinColormap = [64] Name = NextPlot = add NumberTitle = on PaperUnits = inches PaperOrientation = portrait PaperPosition = [0.25 2.5 8 6] PaperSize = [8.5 11] PaperType = usletter Pointer = arrow Position = [70 45 500 375] Resize = on SelectionType = normal ShareColors = yes Units = pixels WindowButtonDownFcn = WindowButtonMotionFcn = WindowButtonUpFcn = ButtonDownFcn = Children = [0.000366211] Clipping = on Interruptible = no Parent = [0] Type = figure UserData = [] Visible = on

PaperUnits: [ {inches} | centimeters | normalized | points ] PaperOrientation: [ {portrait} | landscape ] PaperPosition PaperType: [ {usletter} | uslegal | a4letter ] Pointer: [ crosshair | {arrow} | watch | topl | topr | botl | botr | circle | cross | fleur ] Position Resize: [ {on} | off ] ShareColors: [ no | {yes} ] Units: [ inches | centimeters | normalized | points | {pixels} ] WindowButtonDownFcn WindowButtonMotionFcn WindowButtonUpFcn ButtonDownFcn Clipping: [ {on} | off ] Interruptible: [ {no} | yes ] Parent UserData Visible: [ {on} | off ]

Note-se que os valores vlidos para BackingStore so on e off, com o valor predefinido sendo on; j Color no tem qualquer valor como propriedade uma vez que no h uma cor fixada para a figura, isto , a cor pode ser qualquer vetor RGB vlido. Algumas propriedades no apresentam valor predefinido. O comando getpref lista todas as propriedades que tm valor predefinido; alguns ajustes predefinidos so: LineColor, TextColor, TextFontSize, AxesAspectRatio, AxesLineWidth, FigureColor, FigurePosition e vrios outros. As seis ltimas propriedades listadas (de ButtonDownFcn at Visible) so comuns a todos os objetos. Uma tabela semelhante para as propriedades associadas aos eixos atuais est mostrada a seguir.

16 de 20

12/05/2012 15:42

Traando Grficos no MATLAB

http://www.mec.ita.br/~adade/Matlab/Web/graficos.htm

get(gca) AspectRatio = [NaN NaN] Box = on CLim = [0 1] CLimMode = auto Color = none CurrentPoint = [ (2 by 3) ] ColorOrder = [ (6 by 3) ] DrawMode = normal FontAngle = normal FontName = Helvetica FontSize = [12] FontStrikeThrough = off FontUnderline = off FontWeight = normal GridLineStyle = : LineStyleOrder = LineWidth = [0.5] NextPlot = replace Position = [0.13 0.11 0.775 0.815] TickLength = [0.01 0.025] TickDir = in Title = [69.0001] Units = normalized View = [0 90] XColor = [1 1 1] XDir = normal Xform = [ (4 by 4) ] XGrid = off XLabel = [66.0001] XLim = [-1 4] XLimMode = manual XScale = linear XTick = [-1 0 1 2 3 4] XTickLabels = -1 0 1 2 3 4 XTickLabelMode = auto XTickMode = auto

set(gca) AspectRatio Box: [ on | {off} ] CLim CLimMode: [ {auto} | manual ] Color: [ {none} ] -or- a ColorSpec. ColorOrder DrawMode: [ {normal} | fast ] FontAngle: [ {normal} | italic | oblique ] FontName FontSize FontStrikeThrough: [ on | {off} ] FontUnderline: [ on | {off} ] FontWeight: [ light | {normal} | demi | bold ] GridLineStyle: [ - | -- | {:} | -. ] LineStyleOrder LineWidth NextPlot: [ new | add | {replace} ] Position TickLength TickDir: [ {in} | out ] Title Units: [ inches | centimeters | {normalized} | points | pixels ] View XColor XDir: [ normal | {reverse} ] Xform XGrid: [ on | {off} ] XLabel XLim XLimMode: [ {auto} | manual ] XScale: [ {linear} | log ] XTick XTickLabels XTickLabelMode: [ {auto} | manual ] XTickMode: [ {auto} | manual ] YColor YDir: [ {normal} | reverse ] YGrid: [ on | {off} ]

17 de 20

12/05/2012 15:42

Traando Grficos no MATLAB

http://www.mec.ita.br/~adade/Matlab/Web/graficos.htm

YColor = [1 1 1] YDir = normal YGrid = off YLabel = [67.0001] YLim = [-2 5] YLimMode = manual YScale = linear YTick = [ (1 by 8) ] YTickLabels = -2 -1 0 1 2 3 4 5 YTickLabelMode = auto YTickMode = auto ZColor = [1 1 1] ZDir = normal ZGrid = off ZLabel = [68.0001] ZLim = [-1 1] ZLimMode = auto ZScale = linear ZTick = [-1 0 1] ZTickLabels = ZTickLabelMode = auto ZTickMode = auto ButtonDownFcn = Children = [ (9 by 1) ] Clipping = on Interruptible = no Parent = [1] Type = axes UserData = [] Visible = on

YLabel YLim YLimMode: [ {auto} | manual ] YScale: [ {linear} | log ] YTick YTickLabels YTickLabelMode: [ {auto} | manual ] YTickMode: [ {auto} | manual ] ZColor ZDir: [ {normal} | reverse ] ZGrid: [ on | {off} ] ZLabel ZLim ZLimMode: [ {auto} | manual ] ZScale: [ {linear} | log ] ZTick ZTickLabels ZTickLabelMode: [ {auto} | manual ] ZTickMode: [ {auto} | manual ] ButtonDownFcn Clipping: [ {on} | off ] Interruptible: [ {no} | yes ] Parent UserData Visible: [ {on} | off ]

Todos os objetos grficos so armazenados hierarquicamente. Essa hierarquia pode ser inspecionada atravs das propriedades parent e children. Vide Apndice para uma listagem das propriedades dos objetos grficos e MATLAB Reference Guide e MATLAB Release Notes para uma documentao mais completa a respeito deste assunto. Seguem-se alguns exemplos de como alterar propriedades dos objetos.

18 de 20

12/05/2012 15:42

Traando Grficos no MATLAB

http://www.mec.ita.br/~adade/Matlab/Web/graficos.htm

O primeiro exemplo mostra como trocar a cor da linha em um grfico; supor o grfico gerado pela funo fplot: fplot(humps, [0 2]); % gera grfico da funo humps L1=fplot(humps, [0 2]); set (L1, Color, r); % troca a cor da linha do grfico para vermelho. Para se alterar a largura de linha, set (h, LineWidth, size) onde h o identificador (handle) para uma linha e size a largura que se deseja (pr-ajuste de 0.5). Para se alterar a fonte usada nos rtulos dos eixos, set (h, FontName, fonte) Usando gca (de "get current axis") ou gcf (de "get current figure") como o handle no comando get ou set, pode-se alterar as propriedades dos eixos atuais ou da figura atual. Por exemplo, para se alterar o valor de pr-ajuste para as linhas de eixos, set (gca, LineWidth, 10) % qualquer linha plotada a partir deste comando ter %uma largura de 10 Para se alterar para courier a fonte dos rtulos dos eixos antes de serem criados, set (gca, FontName, courier) Para se especificar um dos extremos de um eixo deixando o outro extremo ser auto-escalonado, p. ex. o limite mnimo do eixo-x em zero e o limite mximo auto-escalonado, set(gca, 'XLim', [ 0 Inf ]) e o limite mximo em 40, deixando o limite mnimo ser auto-escalonado, set(gca, 'XLim', [ -Inf 40]) Para se tornar invisveis os eixos, set (gca, Visible, off) Para especificar que tipos de linhas e a ordem em que devem ser usadas, por exemplo, set(gca, 'LyneStyleOrder', ' - | -- | : ') Para alterar a cor do ttulo do eixo atual para vermelho, set(get(gca,'Title'), 'Color', 'r') Para se estabelecer o pr-ajuste de cor dos eixos para a figura corrente,

19 de 20

12/05/2012 15:42

Traando Grficos no MATLAB

http://www.mec.ita.br/~adade/Matlab/Web/graficos.htm

set (gcf,DefaultAxesColor, [0 1 0]) Todos os eixos criados nesta janela de figura sero verdes; se alguma outra janela de figura for criada, a cor dos eixos voltar a ser a original. Para se estabelecer a cor verde como sendo a cor predefinida para os eixos das figuras para a sesso completa do MATLAB, set (0,DefaultAxesColor, [0 1 0]) Para se alterar a ordem das cores no grfico atual, set(gca,'ColorOrder', [ 0 0 0]) O ltimo argumento no comando acima qualquer vetor RGB. Para se alterar a cor de fundo de um grfico de preto para branco, teclar cinvert. Para tornar branco o pr-ajuste, incluir uma linha no arquivo startup.m com o comando whitebg. Para se alterar a cor da janela da figura para outra diferente de branca ou preta, p. ex. vermelha, set (gcf, Color, red) Para se ajustar o tipo do papel, por exemplo, para A4, set (0,DefaultFigurePaperType, A4) Aps se alterar o valor de uma propriedade pode-se querer reverter este valor a uma situao anterior; para isso, usa-se uma das opes: default, factory ou remove no comando set. Por exemplo, preto o valor original instalado para cor e supor que o valor de pr-ajuste tenha sido alterado para verde. Ento, set(gcf, Color, factory) % torna a figura novamente preta set(gcf, Color, default) % torna a figura novamente verde Utiliza-se remove para se desistir de valores pr-ajustados pelo usurio; no exemplo, set(0, DefaultFigureColor, remove) %remove a cor verde como pr-ajuste Incio da Pgina. Prxima Seo.

20 de 20

12/05/2012 15:42