























Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Apostila de Gnuplot
Tipologia: Notas de estudo
1 / 31
Esta página não é visível na pré-visualização
Não perca as partes importantes!
























FCT – Campus de Presidente Prudente Departamento de Cartografia
Autor: Prof. Mauricio Galo
Presidente Prudente 2003
Figura 1.2 - Gráficos de funções com barra de erros (arquivo de demonstração que acompanha o aplicativo).
Figura 1.3 - Gráfico de consumo de energia com dados armazenados e lidos em arquivo.
Figura 1.4 - Gráfico mostrando os resíduos lidos a partir de arquivos.
Figura 1.5 - Distribuição χ^2.
Figura 1.6 - Exemplo do gráfico de uma superfície.
Figura 1.7 - Exemplo de uma projeção cartográfica feita usando o aplicativo gnuplot. (Projeção Sanson-Flamsteed)
Por meio dos sete exemplos anteriores tem-se uma idéia do potencial de aplicação deste programa. Neste material pretende-se apresentar uma introdução ao uso deste aplicativo, no qual serão mostrados alguns exemplos mais usuais.
O comando utilizado para fazer a visualização de funções no plano cartesiano bidimensional se chama plot. Dentre as funções predefinidas disponíveis tem-se:
Função Operação Sintaxe abs Valor absoluto abs(x) sqrt Raiz quadrada sqrt(x) exp Exponencial exp(x) log Logaritmo (base e) log(x) log10 Logaritmo (base 10) log10(x) sin Seno de um ângulo sin(x) cos Coseno de um ângulo cos(x) tan Tangente de um ângulo tan(x) asin Arco seno asin(x) acos Arco coseno acos(x) atan Arco tangente atan(x)
Na Figura 2.1 são apresentados dois exemplos mostrando as funções seno e logaritmo. À esquerda é mostrado o comando utilizado e a direita o resultado.
gnuplot> plot sin(x)
Resultado >> Observações: Pode-se notar que não foi definido o domínio da função e o intervalo padrão [-10:10] foi utilizado. Além disso pode-se observar que odomínio está em radianos.
gnuplot> plot log(x)
Resultado >> Figura 2.1 – Funções seno e logaritmo.
Ativação da grade ( grid )
A ativação da grade (ou grid ) pode ser feita usando o comando set grid , antes do comando plot , como mostra o exemplo da Figura 2.2. Para ver a sintaxe completa do comando grid , e de todos os demais, ative o comando de ajuda através de help grid.
gnuplot> set gridgnuplot> plot log(x)
Figura 2.2 – Ativação do grid.
Para desativar a opção grid pode-se utilizar o comando set nogrid.
Como sugestão de exercícios, faça a visualização dos gráficos das seguintes funções algébricas.
(^)
= + + =
=
= = =
= − − = =
−
4 y logarctan xpi 2
y log sen 2 x cos(x) y 2 cosx sen( 2 x) sen( 4 x)
2 cos(x) y sen 2 x cos(x) y sen x y sen x 2 cos(x)
y 5 x 2 x 50 y e^5 y sen(x)
x 2
Em caso de dúvida quando à sintaxe de alguma função pré-definida, ative a opção functions da barra de tarefas (Figura 2.3).
opção rep (de replot ) a cada função adicional, como mostrado no exemplo da Figura 2.5, onde são apresentadas três funções simultaneamente.
gnuplot> set gridgnuplot> plot sin(x),
gnuplot> cos(x/3),
gnuplot> x/14- ou gnuplot> set grid gnuplot> plot sin(x)gnuplot> rep cos(x/3) gnuplot> rep x/14-
Figura 2.5 – Visualização de múltiplas funções.
Para mais detalhes sobre o comando replot ative help replot.
Nesta seção são apresentados comandos que possibilitam mudar alguns atributos dos gráficos construídos com o gnuplot.
Cor, tipos de pontos e linhas
O gnuplot permite que os gráficos sejam desenhados em diversas cores. No caso da representação de curvas usando pontos podem-se utilizar diferentes formatos (cruz, círculo, triângulo, etc). Para visualizar as cores, bem como o formato das entidades pontuais basta ativar, na linha de comando, a palavra test , como mostrado abaixo:
gnuplot> test
Na Figura 3.1 são apresentadas as cores disponíveis, bem como os tipos de representação para pontos.
Figura 3.1 – Tipos de pontos e cores disponíveis no gnuplot.
É importante ressaltar que diferenças nas cores podem ocorrer dependendo do hardware utilizado.
Em todos os gráficos apresentados nas seções anteriores as funções foram representadas por linhas contínuas. Como exemplos de outros modos de representação tem-se: pontos, impulsos, linhas, etc. No caso de utilizar estes elementos deve-se usar a opção with seguida do tipo desejado. Como exemplo, pode-se citar:
gnuplot > plot sin(x/2) with points gnuplot > plot sin(x/2) with lines gnuplot > plot sin(x/2) with linespoints gnuplot > plot sin(x/2) with dots gnuplot > plot sin(x/2) with impulses
A definição da cor pode ser feita incluindo o número correspondente à cor, de acordo com a tabela de cores mostrada na Figura 3.1. Supondo que se deseja associar os elementos points , lines , linespoints , dots , e impulses , respectivamente às cores azul (3), azul marinho (5), vermelho (1), preto (8) e cinza escuro (9), deve-se escrever:
gnuplot > plot sin(x/2) with points 3 gnuplot > plot sin(x/2) with lines 5 gnuplot > plot sin(x/2) with linespoints 1 gnuplot > plot sin(x/2) with dots 8 gnuplot > plot sin(x/2) with impulses 9
Mudança dos atributos como cor de fundo, fonte, etc.
Uma vez que os gráficos são mostrados tem-se a opção de modificar o tamanho da janela de visualização, como se faz em qualquer janela do Windows. Modificado o tamanho, ou outro atributo qualquer da janela, pode-se salvar esta configuração ao clicar com o botão direito sobre o gráfico, escolhendo a opção update wgnuplot.ini. Assim, as próximas janelas abertas terão a aparência da última configuração salva.
Além de modificar o tamanho da janela, ao clicar como o botão direito do mouse sobre o gráfico tem-se as opções mostradas na Figura 3.
⇒ Ativar ou desativar a cor. ⇒ Copiar o conteúdo da janela para a área de transferência. ⇒ Modificar a cor do fundo. ⇒ Escolher a fonte usada na janela gráfica. ⇒ Modificar o tipo de linha bem como as cores. ⇒ Impressão. ⇒ Salvar as configurações atuais. Figura 3.4 – Mudanças de atributo da tela gráfica apresentada pelo aplicativo.
Nas seções anteriores mostrou-se como se constrói gráficos usando funções predefinidas. A partir destas funções predefinidas pode-se definir uma infinidade de outras funções. Na seqüência são apresentadas algumas maneiras diferentes de mostrar a função
y = sen 2 x ,
no intervalo [-2π:2π].
(Opção 1)gnuplot > set xrange [-2pi:2pi] gnuplot > plot sin(x/2) (Opção 2)gnuplot > set xrange [-2pi: 2pi] gnuplot > f(x)=sin(x/2)gnuplot > plot f(x) (Opção 3)gnuplot > set xrange [-2pi:2pi] gnuplot > f(x,b)=sin(x/b)gnuplot > plot f(x,2) (Opção 4)gnuplot > set xrange [-2pi:2pi] gnuplot > f(x)=sin(xa)gnuplot > plot f(x), a=0. (Opção 5)gnuplot > set xrange [-2pi:2pi] gnuplot > f(x,a)=sin(ax)gnuplot > plot f(x,0.5) Figura 4.1 – Exemplo de visualização de uma única função, usando diferentes opções.
Como pode ser observado, são várias as opções que podem ser utilizadas para representar uma única função. As opções 3, 4 e 5, em especial, são interessantes para se escrever funções mais genéricas, no qual algumas constantes podem ser modificadas no momento em que é utilizado o comando plot.
Considerando as seguintes funções:
y f (x) 0. 5 x 34 x 2 x 22
y f(x) 4 2 x 3 x
y f (x) 13 x 200
y f(x) 180
4 4 3 2
3 3 2
2 2
1 1
e a tarefa de visualizá-las simultaneamente no domínio [-10:10], uma primeira opção seria definir as quatro funções separadamente. Neste caso pode-se escrever o seguinte script :
Até este ponto, as funções foram definidas de modo algébrico e não se fez a visualização de dados lidos em arquivo. Como exemplo, considerar que se dispõe de um arquivo ASCII (com nome desniv.txt ), no qual se tem armazenado as altitudes (em metros) de 10 pontos de uma linha de nivelamento. Além das altitudes têm-se, para cada um dos pontos, informações de temperatura e pressão, úteis na realização de correções nas altitudes. A Figura 5.1 mostra o arquivo montado com estas informações.
Figura 5.1 – Exemplo de um arquivo de dados.
Considerando que este arquivo esteja no diretório em que se está trabalhando, para visualizar o gráfico “Número do ponto x Altitude”, basta especificar o arquivo, conforme ilustrado na Figura 5.2.
gnuplot > resetgnuplot > plot "desniv.txt"
Figura 5.2 – Visualização de dados lidos em arquivo.
Pode-se notar que, automaticamente, as colunas 1 e 2 são mostradas. Pode-se também explicitar as colunas que se quer utilizar, usando a opção using. Os exemplos a seguir mostram duas das maneiras de reproduzir o gráfico anterior:
gnuplot > reset gnuplot > plot "desniv.txt" using 1: ou gnuplot > reset gnuplot > plot "desniv.txt" using ($1): ($2)
Caso o usuário queira representar os dados usando impulsos, linhas, etc, ou ainda mudar a cor, pode-se usar a opção with (ver seção 3) na mesma linha, como mostram os exemplos da Figura 5.3.
gnuplot > resetgnuplot > plot "desniv.txt" using ($1):($2) with lines 3 6
gnuplot > resetgnuplot > plot "desniv.txt" using ($1):($2) with impulses 3 gnuplot > rep "desniv.txt" using ($1):($2) with lines 8
Figura 5.3 – Visualização de dados lidos em arquivo, com mudança de atributos. A princípio, o uso de plot "..." using 1:2 e plot "..." using ($1):($2 ) não faz diferença. Realmente, isso ocorre se a intenção for apenas visualizar a coluna 1 “contra” a coluna 2. No entanto, o uso de $, antes do número da coluna ($2 por exemplo), permite que se interprete $2 como uma variável. Um exemplo do uso de “$coluna” seria na visualização do
gnuplot > reset gnuplot > set gridgnuplot > set xrange [0:25] gnuplot > set title "Função Parabólica \n Teste 1"gnuplot > set xlabel "X - Tempo (s)" gnuplot > set ylabel "Y - Aceleração (m/s2)" gnuplot > f(x)=0.1x2-5x+20gnuplot > plot f(x) with lines 8
Figura 5.4 – Inserção de título e rótulos na abscissa e ordenada.
Modificação do espaçamento da grade
No exemplo anterior mostrou-se como se faz a inserção do título e dos rótulos nos eixos x e y. Pode-se notar que a separação do grid (grade) não foi definida. Caso seja necessário faze- lo, pode-se usar as opções set xtics e set ytics. Considerando que os incrementos desejáveis em x e y sejam respectivamente ix e iy, a seguinte sintaxe pode ser utilizada:
set xtics ix set ytics iy
Além desta possibilidade pode-se, ainda, dividir os intervalos com tics menores, usando as opções set mxtics e set mytics.
Os exemplos da Figura 5.5 ilustram o uso de alguns destes comandos. No segundo gráfico, as setas ( >>>) são sobrepostas ao desenho apenas para mostrar a posição dos tics menores.
gnuplot > reset gnuplot > set gridgnuplot > set xtics 2 gnuplot > set ytics 5gnuplot > set xrange [0:25] gnuplot > set title "função parabólica \n teste 1" gnuplot > set xlabel "x - tempo (s)"gnuplot > set ylabel "y - aceleração (m/s2)" gnuplot > f(x)=0.1x2-5x+20gnuplot > plot f(x) with lines 8
...gnuplot > set grid gnuplot > set xtics 2gnuplot > set mxtics 2 gnuplot > set ytics 5gnuplot > set mytics 2 gnuplot > set xrange [0:25] ...
Figura 5.5 – Uso dos comandos xtics e mxtics.
Modificação da legenda
Em todos os exemplos vistos anteriormente, não se fez a modificação do conteúdo e nem da posição da legenda. Para modificar o texto da legenda pode-se usar a opção t seguido do texto a ser escrito, na mesma linha em que se usa o comando plot (ou rep ) como mostra o exemplo da Figura 5.6. Para não ser incluído nenhum texto na legenda basta usar t "".