Diferenças entre edições de "Gráficos"

De GNU Octave
Ir para: navegação, pesquisa
(Mais do que um gráfico na mesma figura)
(Outros tipos de gráfico)
 
(Há uma edição intermédia do mesmo utilizador que não estão a ser apresentadas)
Linha 157: Linha 157:
  
 
=== Outros tipos de gráfico ===
 
=== Outros tipos de gráfico ===
 +
 +
Considere os [http://www.legislativas2015.mai.gov.pt/resultados-globais.html dados oficiais das eleições legislativas de 2015].
  
 
==== Gráfico de barras ====
 
==== Gráfico de barras ====
 +
 +
Construa um gráfico de barras com os resultados.
  
 
<syntaxhighlight>
 
<syntaxhighlight>
 +
partidos = {'PAF', 'PS', 'BE', 'PCP+PEV', 'PAN'}
 
deputados = [ 107, 86, 19, 17, 1 ];
 
deputados = [ 107, 86, 19, 17, 1 ];
 
bar(deputados)
 
bar(deputados)
set(gca,'XTickLabel',{'PAF', 'PS', 'BE', 'PCP+PEV', 'PAN'})
+
set(gca,'XTickLabel',partidos)
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Linha 169: Linha 174:
  
 
==== Gráfico de setores ou gráfico circular ====
 
==== Gráfico de setores ou gráfico circular ====
 +
 +
Construa um gráfico de setores com os resultados.
  
 
<syntaxhighlight>
 
<syntaxhighlight>
partidos = [ "PAF"; "PS"; "BE"; "PCP-PEV"; "PAN"];
+
partidos = {'PAF', 'PS', 'BE', 'PCP+PEV', 'PAN'}
 
deputados = [ 107, 86, 19, 17, 1 ];
 
deputados = [ 107, 86, 19, 17, 1 ];
pie(deputados, cellstr(partidos));
+
pie(deputados, partidos);
 
</syntaxhighlight>
 
</syntaxhighlight>
  
[[Ficheiro:Deputados pie.png]]
+
[[Ficheiro:Deputados pie.png|thumb]]
  
 
===Apontadores adicionais===
 
===Apontadores adicionais===

Edição atual desde as 01h16min de 17 de novembro de 2015

O Octave tem um conjunto de funções própria para visualizar gráficos. Estes gráficos são apresentados numa janela própria, e não na linha de comandos. COmo a janela dos gráficos tem um título pré-definido 'Figure', vamos chamar figura à janela onde aparecem os gráficos.

Primeiro gráfico

Sejam dois vetores ano e altura, com o mesmo comprimento. Para os representar graficamente, usa-se o comando plot.

altura = [0.8 1.02 1.12 1.20 1.35 1.40 1.42 1.52 1.60 1.66]
ano = 1:10
plot(ano, altura)

Plot alturas.png

No exemplo anterior, o comando plot usou o primeiro vetor ano para o eixo dos x e o segundo vetor altura para o eixo dos y.

Considere o seguinte vetor:

peso = [ 5    7    9   11   13   15   16   18   20   21]

Faça agora:

plot(ano, peso)

Plot peso.png

Continua a ter uma só figura, mas o novo gráfico sobrepos-se ao anterior. Ou seja, o comando plot, se já existir uma figura, a mesma é utilizada para apresentar o novo gráfico.

Para fechar a figura apresentada, faça:

close

Pode também fazê-lo usando o botão X na barra da janela.

Mais do que um gráfico na mesma figura

Sejam dois vetores x e y, com o mesmo comprimento. Para representar o mesmo graficamente, usa-se o comando plot, como se viu anteriormente.

x = 1:10
y = [ -2 -1.5 0.75 0.25 0.5 0.5 0.25 0.75 -1.5 -2]
plot(x,y)

O comando plot gerou uma nova figura, onde aparece o gráfico desejado, com os valores do primeiro vetor.

Depois de um comando plot, é sempre utilizada a mesma janela para apresentar o resultado. Exemplo:

Faça de novo:

plot(x,y)
z = rem(x,2)
plot(x,z)

Aconte que o gráfico anterior (resultante do plot(x,y)) é substituído pelo mais recente plot(x,z).

Se pretender ter mais do que uma figura aberta em simultâneo, antes de um novo plot, use o comando figure.

Faça:

close all
plot(x,y)
figure
plot(x,z)

Com os comandos anteriores, conseguiu gerar dois gráficos independentes. Com o comando hold, vamos sobrepor na mesma figura dois gráficos distintos, partilhando os mesmos eixos, cujos intervalos se ajustam à medida que se acrescentam gráficos.

Seja:

x = 0:0.1:2*pi;
y = sin(x)/2;
z = sin(x);

Para apresentar estes dois gráficos na mesma figura, fazemos:

close all
x = 0:0.1:2*pi;
y = sin(x)/2;
z = sin(x);
hold on
plot(x,y)
plot(x,z)
hold off

Alternativamente, pode usar um único comando plot:

plot(x, y, x, z)

Plot partilha dos eixos.png

Exercício
  1. Desenhe na mesma figura os gráficos do peso e da altura apresentados anteriormente, partilhando o mesmo eixo dos x.
    plot(ano, altura, ano, peso)

    Resultado

    Figure plot peso altura.png

  2. O comando plot (faça help plot) permite indicar a cor e o tipo de linha do gráfico. Apresente o gráfico anterior com a altura a vermelho e o peso a magenta.
    plot(ano, altura, 'r', ano, peso, 'm')

    Resultado

    Figure peso m altura r.png

  3. Com os comandos title e xlabel acrescente um título à figura e uma legenda no eixo dos x.
    title('Crescimento')
    xlabel('De 1 aos 10 anos')

    Resultado

    Figure altura peso com legendas.png

  4. Considere novamente o arquivo heartrate.m, disponível em http://octave.di.uminho.pt/images/files/ que tem a definição de um vetor chamado bpm. Descarregue o arquivo, e depois leia o vetor bpm. Faça o gráfico desse vetor.
    load heartrate.m
    plot(bpm)

    Resultado

    Figure bpm.png

Outros tipos de gráfico

Considere os dados oficiais das eleições legislativas de 2015.

Gráfico de barras

Construa um gráfico de barras com os resultados.

partidos = {'PAF', 'PS', 'BE', 'PCP+PEV', 'PAN'}
deputados = [ 107, 86, 19, 17, 1 ];
bar(deputados)
set(gca,'XTickLabel',partidos)
Deputados barras.png

Gráfico de setores ou gráfico circular

Construa um gráfico de setores com os resultados.

partidos = {'PAF', 'PS', 'BE', 'PCP+PEV', 'PAN'}
deputados = [ 107, 86, 19, 17, 1 ];
pie(deputados, partidos);
Deputados pie.png

Apontadores adicionais