Você está na página 1de 21

Traando Grcos no MATLAB

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

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

ndice
Seo Anterior
20. Traando Grcos 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. Grcos de Superfcies
x. Preparao de Grades de Dados e Plotagem
xi. Impresso de Grcos
xii. Manipulao de Grcos
i. Introduo
Os principais tipos de grcos 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 grca mostrada em janela(s) diferente(s) da janela de
comandos.
Retorna.

1 de 21

21-09-2014 10:48

Traando Grcos no MATLAB

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

ii. Forma Bsica


plot (Y) : produz um grco 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 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 grco e rtulos aos eixos.
Ex.
y = [ 0 0.6 0.9 0.1 0.8 0.3 0.4];
plot(y)
title ('Grcos - Teste 01')
xlabel ('eixo X')
ylabel ('eixo Y')

Dados dois vetores de mesma dimenso, x e y, pode-se traar o grco de y


versus x atravs do comando plot(x,y).
Ex.
t = 0 : .1 : 4*pi;
y = sin(t);
plot(t,y,'r')

2 de 21

21-09-2014 10:48

Traando Grcos no MATLAB

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

title('Grcos - Teste 02')


xlabel('t')
ylabel('sent')

Mltiplas curvas podem ser traadas no mesmo grco 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('Grcos - Teste 03', 'Color', 'b')
text(2,0.8, 'SENO')
text(6,6, 't * SENO')
text(1,-1,'EXP * COSENO')

3 de 21

21-09-2014 10:48

Traando Grcos no MATLAB

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

Neste exemplo so usadas diferentes cores para as curvas e os rtulos dos


eixos e o ttulo do grco 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 21

21-09-2014 10:48

Traando Grcos no MATLAB

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

Obs. 1 Usar o comando hold se houver necessidade de adicionar mltiplas


curvas ao mesmo grco.

Obs. 2 Reticulado pode ser includo e removido de um grco (grid on, grid
o).
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.

5 de 21

21-09-2014 10:48

Traando Grcos no MATLAB

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

Ex. Seja a curva parametrizada,


t = 0.01 : .05 : 10*pi;
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 grcos 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 grco
corrente na segunda janela.
Ex:
clf ; % limpa a tela grca
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');

6 de 21

21-09-2014 10:48

Traando Grcos no MATLAB

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

xlabel('x=sen(wt)'); ylabel('y=sen(wt-pi/4)')

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 grco.
gtext('Texto para anotao'); % texto posicionado na tela pelo
mouse
text(x,y,'Texto para anotao'); % coloca o texto na posio
especicada por x e
% y, nas unidades do ltimo grco
Retorna.

vii. Controle de Tela e de Escalas


shg : mostra a tela grca;
clf : limpa a tela grca;
hold on, (hold o) : mantm (ou no) o grco atual na tela tal que
outros grcos podem ser superpostos (nos mesmos eixos).
gcf : retorna o nmero da gura atual;

7 de 21

21-09-2014 10:48

Traando Grcos no MATLAB

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

gure : abre uma nova janela para grcos; gure(k) expe a


k-sima gura e a torna a gura atual.
As escalas dos eixos so estabelecidas automaticamente. Para alterar o ajuste
inicial assumido, usa-se o 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) xa os
limites de eixos nos valores atuais; axis(equal) estabelece incrementos
iguais para os eixos; axis(normal) restaura o padro normal; axis(o)
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 grcos 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
denidos 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:

8 de 21

Smbolo

Cor

Smbolo

Estilo da Linha

amarela

ponto

magenta

crculo

cyan

vermelha

verde

asterisco

azul

linha cheia

branca

dois pontos

preta

trao-ponto

--

linha pontilhada

21-09-2014 10:48

Traando Grcos no MATLAB

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

Obs. A ordem das cores conforme listadas na tabela acima a seqncia


pr-ajustada. Esta seqncia pode ser alterada modicando-se a
propriedade ColorOrder (vide seo 20.xii).
Ex.
t = 0 : pi/100 : 2*pi;
x = sin(t);
y1 = sin(t+0.25);
y2 = sin(t+0.5);
plot(x,y1, 'r-',x,y2, 'g--')

Retorna.

ix. Grcos de Superfcies


mesh : mesh(v) cria uma perspectiva tridimensional dos elementos
da matriz v. A superfcie em malha, criada pelo comando mesh,
denida 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 denem o domnio de f.
Procede-se como segue:
1) Denir 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;

9 de 21

21-09-2014 10:48

Traando Grcos no MATLAB

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

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 grco de superfcie do valor absoluto da funo,

para -3 s 3 e -3 w 3.
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 grco pode ser alterado atravs do comando


view (azimute, elevao).

Obs. 2 waterfall(g) produziria um grco semelhante ao proporcionado pelo


comando mesh acima, exceto que as linhas relativas s colunas no seriam
traadas no grco.

10 de 21

21-09-2014 10:48

Traando Grcos no MATLAB

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

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

Nesses tipos de grcos utilizada a palheta (mapa) de cores vigente. A


funo colormap estabelece o mapa de cores a ser utilizado, alterando o
ajuste predenido. 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 denindo o mapa de cores tem dimenso nx3. Cada linha
interpretada como uma cor, onde o primeiro elemento especica a
intensidade de luz vermelha, o segundo, verde e o terceiro, azul. A
intensidade da cor pode ser especicada no intervalo de 0 a 1.
Retorna.

11 de 21

21-09-2014 10:48

Traando Grcos no MATLAB

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

x. Preparao de grades de dados e plotagem


Para se produzir um grco 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 ns 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);
xi=xmin:0.05*(xmax-xmin):xmax;
yi=ymin:0.05*(ymax-ymin):ymax;
zi = griddata(x,y,z,xi',yi); % preenche a grade denida por xi e yi
interpolando % valores originais de x,y,z
contour(xi,yi,zi); % plota um grco de curvas de nvel, tratando os
valores de zi % como alturas acima de um plano denido 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 grco usando-se o comando


clabel (p. ex. cl = contour(xi,yi,zi); clabel(cl) ).
12 de 21

21-09-2014 10:48

Traando Grcos no MATLAB

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

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); % dene a grade X
y1 = linspace(min(y), max(y), 10); % dene 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
-1.0000
-1.0000
-1.0000
-1.0000
-1.0000
-1.0000
-1.0000
-1.0000
-1.0000

-0.2857
-0.2857
-0.2857
-0.2857
-0.2857
-0.2857
-0.2857
-0.2857
-0.2857
-0.2857

0.4286
0.4286
0.4286
0.4286
0.4286
0.4286
0.4286
0.4286
0.4286
0.4286

1.1429
1.1429
1.1429
1.1429
1.1429
1.1429
1.1429
1.1429
1.1429
1.1429

1.8571
1.8571
1.8571
1.8571
1.8571
1.8571
1.8571
1.8571
1.8571
1.8571

2.5714
2.5714
2.5714
2.5714
2.5714
2.5714
2.5714
2.5714
2.5714
2.5714

3.2857
3.2857
3.2857
3.2857
3.2857
3.2857
3.2857
3.2857
3.2857
3.2857

4.0000
4.0000
4.0000
4.0000
4.0000
4.0000
4.0000
4.0000
4.0000
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

13 de 21

21-09-2014 10:48

Traando Grcos no MATLAB

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

-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 Grcos
O comando print faz uma cpia de alta resoluo da tela grca para a
impressora. Os valores predenidos utilizados pelo comando print esto no
M-le printopt.m; o usurio pode alterar tais valores editando este arquivo.
O comando,
print nome-do-arquivo
salva o grco corrente no arquivo especicado; se o arquivo especicado j
existir ele substitudo pelo novo, a menos que seja usada a opo append:
print -append nome-do-arquivo
que acrescenta o grco corrente ao arquivo existente. Dessa forma, pode-se
ter vrios grcos num mesmo arquivo.
A verso 4.2 proporciona o recurso de salvar e recarregar um grco. O
comando,
print -dmle nome-do-arquivo
cria um M-le contendo as informaes necessrias para posteriormente
reproduzir a gura. Esta verso tambm possibilita especicar que janela
grca deve ser impressa, utilizando-se a opo -f. Por exemplo,
print -f2
imprime a janela de gura cujo handle (vide sub-seo xii) seja 2, qualquer
que seja a janela de gura 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.
14 de 21

21-09-2014 10:48

Traando Grcos no MATLAB

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

Obs. Caso linhas e textos estejam aparecendo na cor preta embora


especicadas diferentemente numa impressora colorida, alterar (editando) o
arquivo printopt.m, colocando a opo -dwinc em vez de -dwin.
Pode-se salvar guras 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 Metale (*.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 gura tambm pode ser usada para
se transferir uma gura do MATLAB para outra aplicao Windows.
O formato PostScript o que apresenta o melhor resultado grco mas uma
impressora compatvel com PostScript tem que ser usada e as guras, 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 capturadas. O
formato Windows Metale capaz de produzir grcos 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 grcos no
formato Windows Metale: (1) desabilitar a opo "Copy options: Honor
Figure Properties", no menu Edit da janela da gura; (2) digitar o comando
system_dependent(14,'on') antes de gerar a gura.
Retorna.

xii Manipulao de Grcos


Todo objeto grco tem um conjunto de propriedades (cor, tamanho, posio
etc) associado a ele (e que pode ser especicado) no momento de sua criao.
A cada objeto grco (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 grco, por exemplo, faz-se,

15 de 21

21-09-2014 10:48

Traando Grcos no MATLAB

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

handle = plot(x,y)
Para se saber quais so as propriedades de um objeto grco 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 especicar 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 gura 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 gura 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 = [
0
1
1
1
0
1
0
0

0
1
1
0
1
0
1
0

0
1
0
1
1
0
0
1

]
InvertHardcopy = on
KeyPressFcn =
MenuBar = gure
MinColormap = [64]
Name =

16 de 21

set(gcf)
BackingStore: [ {on} | o ]
Color
Colormap
CurrentAxes
CurrentObject
InvertHardcopy: [ on | {o} ]
KeyPressFcn
MenuBar: [ none | {gure} ]
MinColormap
Name
NextPlot: [ new | {add} |
replace ]
NumberTitle: [ {on} | o ]
PaperUnits: [ {inches} |
centimeters | normalized |
points ]
PaperOrientation: [ {portrait} |
landscape ]
PaperPosition
PaperType: [ {usletter} |
uslegal | a4letter ]
Pointer: [ crosshair | {arrow} |
watch | topl | topr | botl | botr |

21-09-2014 10:48

Traando Grcos no MATLAB

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

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 = gure
UserData = []
Visible = on

circle | cross | eur ]


Position
Resize: [ {on} | o ]
ShareColors: [ no | {yes} ]
Units: [ inches | centimeters |
normalized | points | {pixels} ]
WindowButtonDownFcn
WindowButtonMotionFcn
WindowButtonUpFcn
ButtonDownFcn
Clipping: [ {on} | o ]
Interruptible: [ {no} | yes ]
Parent
UserData
Visible: [ {on} | o ]

Note-se que os valores vlidos para BackingStore so on e o, com o valor


predenido sendo on; j Color no tem qualquer valor como propriedade uma
vez que no h uma cor xada para a gura, isto , a cor pode ser qualquer
vetor RGB vlido. Algumas propriedades no apresentam valor predenido. O
comando getpref lista todas as propriedades que tm valor predenido;
alguns ajustes predenidos 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.

get(gca)
AspectRatio = [NaN NaN]
Box = on
CLim = [0 1]
CLimMode = auto

17 de 21

set(gca)
AspectRatio
Box: [ on | {o} ]
CLim
CLimMode: [ {auto} |

21-09-2014 10:48

Traando Grcos no MATLAB

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

Color = none
CurrentPoint = [ (2 by 3) ]
ColorOrder = [ (6 by 3) ]
DrawMode = normal
FontAngle = normal
FontName = Helvetica
FontSize = [12]
FontStrikeThrough = o
FontUnderline = o
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 = o
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
YColor = [1 1 1]
YDir = normal
YGrid = o
YLabel = [67.0001]
YLim = [-2 5]
YLimMode = manual

18 de 21

manual ]
Color: [ {none} ] -or- a
ColorSpec.
ColorOrder
DrawMode: [ {normal} |
fast ]
FontAngle: [ {normal} |
italic | oblique ]
FontName
FontSize
FontStrikeThrough: [ on |
{o} ]
FontUnderline: [ on | {o}
]
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 | {o} ]
XLabel
XLim
XLimMode: [ {auto} |
manual ]
XScale: [ {linear} | log ]
XTick
XTickLabels
XTickLabelMode: [ {auto} |
manual ]
XTickMode: [ {auto} |
manual ]

21-09-2014 10:48

Traando Grcos no MATLAB

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

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 = o
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

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

Todos os objetos grcos so armazenados hierarquicamente. Essa


hierarquia pode ser inspecionada atravs das propriedades parent e
children. Vide Apndice para uma listagem das propriedades dos objetos
grcos 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.
O primeiro exemplo mostra como trocar a cor da linha em um grco; supor o
grco gerado pela funo fplot:
fplot(humps, [0 2]); % gera grco da funo humps

19 de 21

21-09-2014 10:48

Traando Grcos no MATLAB

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

L1=fplot(humps, [0 2]);
set (L1, Color, r); % troca a cor da linha do grco para
vermelho.
Para se alterar a largura de linha,
set (h, LineWidth, size)
onde h o identicador (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 gure") como o
handle no comando get ou set, pode-se alterar as propriedades dos eixos
atuais ou da gura 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 especicar 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, o)
Para especicar 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')

20 de 21

21-09-2014 10:48

Traando Grcos no MATLAB

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

Para se estabelecer o pr-ajuste de cor dos eixos para a gura corrente,


set (gcf,DefaultAxesColor, [0 1 0])
Todos os eixos criados nesta janela de gura sero verdes; se alguma outra
janela de gura for criada, a cor dos eixos voltar a ser a original. Para se
estabelecer a cor verde como sendo a cor predenida para os eixos das
guras para a sesso completa do MATLAB,
set (0,DefaultAxesColor, [0 1 0])
Para se alterar a ordem das cores no grco 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 grco 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 gura 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 gura novamente preta
set(gcf, Color, default) % torna a gura 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.

21 de 21

21-09-2014 10:48

Você também pode gostar