Os tipos de gráficos 2D são os da tabela a seguir:
Linha | Dispersão e bolha | Distribuição de dados | Dados discretos | Geográficos | Polar | Contorno | Vetoriais | Superfície e malha | Visualização de volume | Animação | Imagens |
---|---|---|---|---|---|---|---|---|---|---|---|
streamslice |
|||||||||||
bubblechart |
|
||||||||||
pareto |
|
|
|||||||||
|
|
|
|||||||||
|
|
|
|
||||||||
|
|||||||||||
|
|||||||||||
|
|
||||||||||
|
|||||||||||
|
A saída gráfica é feita nas Janelas de Figura (JF), abertas com o comando figure(n) e fechadas com o comando close(n), onde n é um valor inteiro > 0 que identifica a JF.
>> f = figure(1) % A JF #1 é aberta
f = 1
Geralmente uma única JF será suficiente para realização de nossos trabalhos.
A variável f contém o handle da JF Para fechar a janela utilizamos a função close.
>> close(f) % A JF #1 é fechada
Ainda não definimos os dados que iremos trabalhar.
Voltemos aos exemplos simples de operações matemáticas com vetores, para que possamos ir aumentando gradualmente o nível de dificuldade.
Criamos o vetor x correspondente ao eixo das abscissas no gráfico, com 10 elementos com os valores 1 a 10 variando de 1.
>> x = 0 : 10
x = 0 1 2 3 4 5 6 7 8 9 10
Criamos o vetor y, correspondente ao eixo das ordenadas no gráfico, com a mesma dimensão do vetor x, com elementos com os valores de x nas posições correspondentes.
Funções Básicas de Gráficos
Linhas
plot
A função plot (Y) é a forma mais básica de plotagem de um gráfico linear do cruzamento de X x Y.
Se Y for uma matriz, é plotada uma linha para cada coluna de Y; o eixo x é rotulado de 1 a m, onde m é o número de linhas em Y.
Nesta forma básica, as escalas são estabelecidas automaticamente, bem como os eixos coordenados.
Como é visto no exemplo a seguir, pode-se melhorar a saída dando-se título ao gráfico e rótulos aos eixos.
y = [ 0 0.6 0.9 0.1 0.8 0.3 0.4];
plot (y)
title ('Gráficos - Teste 01')
xlabel ('eixo X')
ylabel ('eixo Y')
O comando plot(x,y), dados os vetores x e y , plota o gráfico com os valores de x na linha das abcissas e com os correspondentes de y na linha das ordenadas.
t = 0 : .1 : 4*pi;
y = sin(t);
plot(t,y,'r')
title('Gráficos - Teste 02')
xlabel('t')
ylabel('sen(t)')
Múltiplas curvas podem ser traçadas no mesmo gráfico com o comando, plot (x1,y1,x2,y2,...,xn,yn), plotando cada um dos pares de xxy de 1 a n.
Os vetores x podem ter tamanhos diferentes. Exemplo:
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('Funções', 'Color', 'b')
title('Gráficos - Teste 03', 'Color', 'b')
text(2,0.8, 'SENO')
text(6,6, 't * SENO')
text(1,-1,'EXP * COSENO')
Neste exemplo são usadas diferentes cores para as curvas e os rótulos dos eixos e o título do gráfico são 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 seleção de linhas ou colunas é feita em função do casamento com o número de elementos em x. Para Y quadrada, são plotadas as colunas de Y versus x.
Obs 2. O comando plot(X,Y), X e Y matrizes de mesma dimensão, plota as colunas de Y versus as colunas de X.
Obs 3. Quando o argumento para plot é complexo, a parte imaginária é ignorada exceto quando o argumento for único, onde então é plotada a parte real versus a parte imaginária. Portanto, plot(Z), Z matriz complexa, é equivalente a plot(real(Z),imag(Z)).
Polares
polar
A função polar(th,r) traça o diagrama polar do ângulo theta th e do raio r
Exemplo 1: Traçar a função r = cos(2q ) num diagrama polar.
th = (pi/200 : pi/200 : 2*pi)' ;
r = cos(2*th);
polar(th,r) , grid
Obs. 1 Usar o comando hold se houver necessidade de adicionar múltiplas curvas ao mesmo gráfico.
Obs. 2 Reticulado pode ser incluído e removido de um gráfico (grid on, grid off).
Ex 2. Plotar a função R = k q , k = 1 / 2p , num diagrama polar.
R = th / (2*pi) ;
polar(th,R);
grid on;
Controle da saída da plotagem
Particionamento da Tela
subplot
A tela pode ser particionada em até quatro janelas, permitindo, deste modo, mostrar vários gráficos 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 gráfico corrente na segunda janela.
Ex:
clf ; % limpa a tela gráfica
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)')
Títulos, Rótulos, Texto, Grade
title('Título','Propriedade1', 'Valor1', 'Propriedade2', 'Valor2')
xlabel('Rótulo do eixo-X','Propriedade1', 'Valor1')
ylabel('Rótulo do eixo-Y')
zlabel('Rótulo do eixo-Z')
grid % coloca reticulado no gráfico.
gtext('Texto para anotação'); % texto posicionado na tela pelo mouse
text(x,y,'Texto para anotação'); % coloca o texto na posição especificada por x e y, nas unidades do último gráfico
Controle de Tela e de Escalas
Durante a aprsentação de gráfico podemos necessitar limpar o gráfico atual envitando a superposição com o próximo, ou ao
Comando | Desccrição |
figure | Abre uma nova janela para gráficos; figure(k) expõe a k-ésima figura e a torna a figura atual. |
shg | mostra a tela gráfica |
clf | limpa a tela gráfica |
hold on | Mantém o gráfico atual na tela tal que os gráficos subsequentes sejam superpostos nos mesmos eixos. |
hold off | Libera o gráfico atual tal que os gráficos subsequentes não sejam superpostos. |
gcf | Retorna o número da figura atual. |
Eixos
As escalas dos eixos são 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.
Comando | Descrição |
axis | Retorna os limites dos eixos em uso. |
axis('auto') | Define o ajuste automático dos eixos. |
axis(axis) | Define a fixação dos limites de eixos nos valores atuais. |
axis('equal') | Define incrementos iguais para os eixos. |
axis('normal') | Restaura o padrão normal. |
axis('off') | axis('off') apaga todos os rótulos e marcas dos eixos |
axis(‘image’) | Ajusta a "razão de aspecto" e limites dos eixos para representar imagens com pixels quadrados. |
Obs. Para gráficos tridimensionais use o comando: axis([x_min, x_max, y_min, y_max, z_min, z_max]).
Estilos de Linhas, Marcações e Cores
O estilo da linha/símbolo utilizada na plotagem bem como a cor podem ser definidos através de um argumento para a função plot:
>> plot(x,y,S)
onde S é uma string de 1, 2 ou 3 caracteres (entre apóstrofos) construída com os símbolos na tabela abaixo:
Símbolo | Cor | Símbolo | Estilo da Linha |
y | amarela | · | ponto |
m | magenta | ° | círculo |
c | cyan | x | |
r | vermelha | + | |
g | verde | * | asterisco |
b | azul | - | linha cheia |
w | branca | : | dois pontos |
k | preta | –· | traço-ponto |
-- | linha pontilhada |
Obs. A ordem das cores conforme listadas na tabela acima é a sequência pré-ajustada, a qual pode ser alterada com a propriedade ColorOrder.
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--')