gnuplot_introducao
-
Upload
juliano-j-scremin -
Category
Documents
-
view
222 -
download
0
Transcript of gnuplot_introducao
-
8/8/2019 gnuplot_introducao
1/31
Universidade Estadual PaulistaFCT Campus de Presidente Prudente
Departamento de Cartografia
Introduo ao uso doaplicativo Gnuplot
Autor: Prof. Mauricio Galo
Presidente Prudente2003
-
8/8/2019 gnuplot_introducao
2/31
Introduo ao uso do aplicativo Gnuplot i
UNESP Faculdade de Cincias e Tecnologia
SUMRIO
SUMRIO .................................................................................................................................... i
1.APRESENTAO /CARACTERSTICAS /APLICAES ......................................................... 1
Ambiente de trabalho ................................................................................................. 4
2.COMANDOS BSICOS PARA VISUALIZAO DE FUNES .................................................... 5
Ativao da grade (grid) ........................................................................................... 6Modificao do domnio de funes .......................................................................... 7
Visualizao de mltiplas funes ............................................................................. 7
3.MODIFICAO DE ATRIBUTOS .............................................................................................. 8
Cor, tipos de pontos e linhas ...................................................................................... 8
Mudana dos atributos com cor de fundo, fonte, etc. ................................................ 11
4.DEFINIO DE FUNES PELO USURIO .............................................................................. 11
5.L
EITURA E VISUALIZAO DE DADOS A PARTIR DE ARQUIVOS/T
EXTO/L
EGENDA........ 14
Insero de ttulo e texto nos eixos x e y ................................................................... 16
Modificao do espaamento da grade ...................................................................... 17
Modificao da legenda ............................................................................................. 18
Criao de scripts em arquivo ................................................................................ 19
6.OPERADOR TERNRIO ........................................................................................................... 20
7.SUPERFCIES ........................................................................................................................... 22
8.TPICOS ADICIONAIS ............................................................................................................. 26
Representao de ngulos em graus e radianos ......................................................... 26
Comando de pausa ..................................................................................................... 27
Troca de variveis ...................................................................................................... 27
AGRADECIMENTO ...................................................................................................................... 29
BIBLIOGRAFIA ............................................................................................................................ 29
-
8/8/2019 gnuplot_introducao
3/31
Introduo ao uso do aplicativo Gnuplot 1
UNESP Faculdade de Cincias e Tecnologia
1.APRESENTAO /CARACTERSTICAS /APLICAES
O aplicativo gnuplot destinado visualizao de grficos e superfcies, teis em
aplicaes cientficas nas reas de fsica, matemtica, estatstica, engenharias (cartogrfica,
mecnica, eltrica, ...), etc. Este aplicativo de domnio pblico e tem verses para uma srie de
sistemas operacionais, entre os quais pode-se citar os seguintes: Windows, Unix, Linux, DOS,
etc. Para a obteno do aplicativo nas diversas plataformas, com exemplos de aplicaes,
manuais, informaes detalhadas, etc so sugeridos os seguintes endereos eletrnicos:
http://www.gnuplot.info/
http://www.usf.uni-osnabrueck.de/~breiter/tools/gnuplot/index.en.html
http://www.cs.uni.edu/Help/gnuplot/ (manual/tutorial)
http://www.duke.edu/~hpgavin/gnuplot.html (manual/tutorial)
http://www.prudente.unesp.br/dcartog/galo/gnuplot
Na seqncia so apresentados alguns exemplos de grficos gerados utilizando este
aplicativo, para que o leitor tenha uma idia do seu potencial de uso.
Figura 1.1 - Exemplo de um grfico mostrando trs curvas.
-
8/8/2019 gnuplot_introducao
4/31
Introduo ao uso do aplicativo Gnuplot 2
UNESP Faculdade de Cincias e Tecnologia
Figura 1.2 - Grficos de funes com barra de erros (arquivo de demonstrao que acompanha oaplicativo).
Figura 1.3 - Grfico de consumo de energia com dados armazenados e lidos em arquivo.
Figura 1.4 - Grfico mostrando os resduos lidos a partir de arquivos.
-
8/8/2019 gnuplot_introducao
5/31
Introduo ao uso do aplicativo Gnuplot 3
UNESP Faculdade de Cincias e Tecnologia
Figura 1.5 - Distribuio 2.
Figura 1.6 - Exemplo do grfico de uma superfcie.
Figura 1.7 - Exemplo de uma projeo cartogrfica feita usando o aplicativo gnuplot. (ProjeoSanson-Flamsteed)
Por meio dos sete exemplos anteriores tem-se uma idia do potencial de aplicao deste
programa. Neste material pretende-se apresentar uma introduo ao uso deste aplicativo, no qual
sero mostrados alguns exemplos mais usuais.
-
8/8/2019 gnuplot_introducao
6/31
Introduo ao uso do aplicativo Gnuplot 4
UNESP Faculdade de Cincias e Tecnologia
Ambiente de trabalho
A Figura 1.8 mostra a tela principal do aplicativo gnuplot na qual so mostradas as
principais funes. Esta tela aberta no momento que o aplicativo ativado, tanto usando o
cone:
localizado na rea de trabalho, quanto o arquivo wgnuplot.exe.
Figura 1.8 - Tela do aplicativo gnuplot.
A maneira mais simples de trabalhar com o aplicativo gnuplot por meio da prpria
linha de comando, mostrada na janela da Figura 1.8, como ocorre em aplicativos como MatLab,
IDL, etc. No entanto, esta no a nica possibilidade de trabalho. Uma alternativa escrever os
comandos em um arquivo script do tipo ASCII, e depois carregar esse arquivo usando a opo
load 'arquivo'. Uma terceira possibilidade atravs da criao de um arquivo em bat, no
qual o aplicativo e o arquivo script so ativados simultaneamente, sem a necessidade de
executar o programa wgnuplot.exe. Uma quarta possibilidade o uso de bibliotecas em C, o
que permite ativar o aplicativo diretamente a partir de um programa escrito em linguagem C.
Mais informaes sobre esta quarta opo podem ser obtidas no endereo
http://ndevilla.free.fr/gnuplot/ .
-
8/8/2019 gnuplot_introducao
7/31
Introduo ao uso do aplicativo Gnuplot 5
UNESP Faculdade de Cincias e Tecnologia
2.COMANDOS BSICOS PARA VISUALIZAO DE FUNES
O comando utilizado para fazer a visualizao de funes no plano cartesiano
bidimensional se chamaplot . Dentre as funes predefinidas disponveis tem-se:
Funo Operao 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 so apresentados dois exemplos mostrando as funes seno e logaritmo.
esquerda mostrado o comando utilizado e a direita o resultado.
gnuplot> plot sin(x)
Resultado >>
Observaes: Pode-se notar que no foi definido o domnio da funo e ointervalo padro [-10:10] foi utilizado. Alm disso pode-se observar que odomnio est em radianos.
gnuplot> plot log(x)
Resultado >>
Figura 2.1 Funes seno e logaritmo.
-
8/8/2019 gnuplot_introducao
8/31
Introduo ao uso do aplicativo Gnuplot 6
UNESP Faculdade de Cincias e Tecnologia
Ativao da grade (grid)
A ativao da grade (ou grid) pode ser feita usando o comando set grid, antes do
comandoplot, como mostra o exemplo da Figura 2.2. Para ver a sintaxe completa do comandogrid, e de todos os demais, ative o comando de ajuda atravs de help grid.
gnuplot> set grid
gnuplot> plot log(x)
Figura 2.2 Ativao do grid.
Para desativar a opo gridpode-se utilizar o comando set nogrid.
Como sugesto de exerccios, faa a visualizao dos grficos das seguintes funes
algbricas.
=++=
=
=
=
=
===
4
pixarctanlogy
2
)x4sen()x2sen(xcos2y
)xcos(2
xsenlogy
)xcos(2
xseny
)xcos(2
xseny
)xcos(2
xseny
)xsen(yey50x2x5y 5x
2
Em caso de dvida quando sintaxe de alguma funo pr-definida, ative a opo
functions da barra de tarefas (Figura 2.3).
-
8/8/2019 gnuplot_introducao
9/31
Introduo ao uso do aplicativo Gnuplot 7
UNESP Faculdade de Cincias e Tecnologia
Figura 2.3 Funes pr-definidas no aplicativognuplot.
Modificao do domnio de funes
Nas funes mostradas na Figura 2.1 e 2.2 pode-se notar que os domnios so iguais. Na
verdade como o domnio no foi definido o valor utilizado o default. A modificao do
domnio das funes pode ser feita utilizando o comando set xrange, como mostra o exemplo
abaixo.
gnuplot> set xrange [0:3]
gnuplot> plot log(x)
ou
gnuplot> plot [0:3] log(x)
Figura 2.4 Modificao do domnio.
De modo anlogo pode-se definir o intervalo para as coordenadas y e z (caso 3D). Nestes
casos os comandos so set yrange e set zrange, respectivamente.
Visualizao de mltiplas funes
Nos grficos anteriores fez-se a visualizao de uma funo por vez. Pode-se tambm
fazer a visualizao de mais de uma funo ao mesmo tempo. Para isto pode-se usar ',\' comoterminador de linha e definir a funo desejada na linha seguinte. Outra possibilidade usar a
-
8/8/2019 gnuplot_introducao
10/31
Introduo ao uso do aplicativo Gnuplot 8
UNESP Faculdade de Cincias e Tecnologia
opo rep (de replot) a cada funo adicional, como mostrado no exemplo da Figura 2.5, onde
so apresentadas trs funes simultaneamente.
gnuplot> set grid
gnuplot> plot sin(x),\gnuplot> cos(x/3),\
gnuplot> x/14-1
ou
gnuplot> set grid
gnuplot> plot sin(x)
gnuplot> rep cos(x/3)
gnuplot> rep x/14-1
Figura 2.5 Visualizao de mltiplas funes.
Para mais detalhes sobre o comando replot ative help replot.
3.MODIFICAO DE ATRIBUTOS
Nesta seo so apresentados comandos que possibilitam mudar alguns atributos dos
grficos construdos com o gnuplot.
Cor, tipos de pontos e linhas
O gnuplot permite que os grficos sejam desenhados em diversas cores. No caso da
representao de curvas usando pontos podem-se utilizar diferentes formatos (cruz, crculo,
tringulo, 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 so apresentadas as cores disponveis, bem como os tipos de representao para
pontos.
-
8/8/2019 gnuplot_introducao
11/31
Introduo ao uso do aplicativo Gnuplot 9
UNESP Faculdade de Cincias e Tecnologia
Figura 3.1 Tipos de pontos e cores disponveis no gnuplot.
importante ressaltar que diferenas nas cores podem ocorrer dependendo do hardware
utilizado.
Em todos os grficos apresentados nas sees anteriores as funes foram representadas
por linhas contnuas. Como exemplos de outros modos de representao tem-se: pontos,
impulsos, linhas, etc. No caso de utilizar estes elementos deve-se usar a opo with seguida do
tipo desejado. Como exemplo, pode-se citar:
gnuplot > plot sin(x/2) with pointsgnuplot > plot sin(x/2) with lines
gnuplot > plot sin(x/2) with linespointsgnuplot > plot sin(x/2) with dots
gnuplot > plot sin(x/2) with impulses
A definio da cor pode ser feita incluindo o nmero correspondente cor, de acordo
com a tabela de cores mostrada na Figura 3.1. Supondo que se deseja associar os elementospoints, 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
-
8/8/2019 gnuplot_introducao
12/31
Introduo ao uso do aplicativo Gnuplot 10
UNESP Faculdade de Cincias e Tecnologia
Para o caso de entidades pontuais pode-se definir o tipo do ponto, utilizando o nmero
correspondente, como mostrado na Figura 3.1. Assim, para visualizar a funo seno(x/2), no
intervalo [0:pi/2], na cor verde (10) e com asteriscos (6), juntamente com a funo coseno(4x),
na cor azul (3) e com impulsos pode-se escrever:
gnuplot > plot [0:pi/2] sin(x/2) with points 10 6
gnuplot > rep cos(4*x) with impulses 3
Observao: No exemplo da primeira linha o nmero 10representa a cor e o nmero 6 representa o tipo do ponto.
Deste modo tem-se:
Primeiro nmero >>> Cor
Segundo nmero >>> Tipo do ponto
Figura 3.2 Representao de mltiplas funes, com mudana de cor e uso de pontos eimpulsos.
Para verificar outros tipos de estilos de dados ativar a opo Style e depois Data
Style, a partir da barra de tarefas (Figura 3.3).
Figura 3.3 Opes de estilos disponveis.
-
8/8/2019 gnuplot_introducao
13/31
Introduo ao uso do aplicativo Gnuplot 11
UNESP Faculdade de Cincias e Tecnologia
Mudana dos atributos como cor de fundo, fonte, etc.
Uma vez que os grficos so mostrados tem-se a opo de modificar o tamanho da janela
de visualizao, como se faz em qualquer janela do Windows. Modificado o tamanho, ou outro
atributo qualquer da janela, pode-se salvar esta configurao ao clicar com o boto direito sobre
o grfico, escolhendo a opo update wgnuplot.ini. Assim, as prximas janelas abertas tero
a aparncia da ltima configurao salva.
Alm de modificar o tamanho da janela, ao clicar como o boto direito do mouse sobre o
grfico tem-se as opes mostradas na Figura 3.4
Ativar ou desativar a cor. Copiar o contedo da janela para a rea de transferncia. Modificar a cor do fundo. Escolher a fonte usada na janela grfica. Modificar o tipo de linha bem como as cores.
Impresso. Salvar as configuraes atuais.
Figura 3.4 Mudanas de atributo da tela grfica apresentada pelo aplicativo.
4.DEFINIO DE FUNES PELO USURIO
Nas sees anteriores mostrou-se como se constri grficos usando funes predefinidas.
A partir destas funes predefinidas pode-se definir uma infinidade de outras funes. Na
seqncia so apresentadas algumas maneiras diferentes de mostrar a funo
=2
xseny ,
no intervalo [-2:2].
-
8/8/2019 gnuplot_introducao
14/31
Introduo ao uso do aplicativo Gnuplot 12
UNESP Faculdade de Cincias e Tecnologia
(Opo 1)
gnuplot > set xrange [-2*pi:2*pi]
gnuplot > plot sin(x/2)
(Opo 2)gnuplot > set xrange [-2*pi: 2*pi]
gnuplot > f(x)=sin(x/2)
gnuplot > plot f(x)
(Opo 3)
gnuplot > set xrange [-2*pi:2*pi]
gnuplot > f(x,b)=sin(x/b)
gnuplot > plot f(x,2)
(Opo 4)
gnuplot > set xrange [-2*pi:2*pi]
gnuplot > f(x)=sin(x*a)
gnuplot > plot f(x), a=0.5
(Opo 5)
gnuplot > set xrange [-2*pi:2*pi]
gnuplot > f(x,a)=sin(a*x)
gnuplot > plot f(x,0.5)
Figura 4.1 Exemplo de visualizao de uma nica funo, usando diferentes opes.
Como pode ser observado, so vrias as opes que podem ser utilizadas para representar
uma nica funo. As opes 3, 4 e 5, em especial, so interessantes para se escrever funes
mais genricas, no qual algumas constantes podem ser modificadas no momento em que
utilizado o comandoplot.
Considerando as seguintes funes:
22x2x34x5.0)x(fy
x3x24)x(fy
200x13)x(fy
180)x(fy
2344
233
22
11
+==
==
==
==
,
e a tarefa de visualiz-las simultaneamente no domnio [-10:10], uma primeira opo seria
definir as quatro funes separadamente. Neste caso pode-se escrever o seguinte script:
-
8/8/2019 gnuplot_introducao
15/31
Introduo ao uso do aplicativo Gnuplot 13
UNESP Faculdade de Cincias e Tecnologia
gnuplot > set xrange [-10:10]
gnuplot > f1(x)=180
gnuplot > f2(x)=13*x-200
gnuplot > f3(x)=4-2*x*x-3*x
gnuplot > f4(x)=0.5*x*x*x-34*x+2*x*x-22gnuplot > plot f1(x)
gnuplot > rep f2(x)
gnuplot > rep f3(x)
gnuplot > rep f4(x)
Figura 4.2 Visualizao simultnea de quatro polinmios.
Uma opo mais geral para visualizar os polinmios mostrados na Figura 4.2 seria
escrever um nico polinmio de grau 3, genrico, da seguinte forma:
32 dxcxbxa)x(fy +++== ,
onde a, b c e d so constantes. Deste modo apenas uma funo precisa ser definida e o seguinte
script pode ser utilizado:
gnuplot > reset
gnuplot > set xrange [-10:10]
gnuplot > f(x,a,b,c,d)=a+b*x+c*x**2+d*x**3gnuplot > plot f(x,180,0,0,0)
gnuplot > rep f(x,-200,13,0,0)
gnuplot > rep f(x,4,-3,-2,0)
gnuplot > rep f(x,-22,-34,2,0.5)
Figura 4.3 Visualizao simultnea de quatro polinmios, usando uma nica funo.
Como pode-se observar no exemplo anterior, apenas uma funo definida, sendo os
coeficientes modificados de acordo com a funo desejada, no momento em que utilizado o
comandoplot (ou rep, no caso de mltiplas funes).
-
8/8/2019 gnuplot_introducao
16/31
Introduo ao uso do aplicativo Gnuplot 14
UNESP Faculdade de Cincias e Tecnologia
5.LEITURA E VISUALIZAO DE DADOS A PARTIR DE ARQUIVOS /TEXTO /LEGENDA
At este ponto, as funes foram definidas de modo algbrico e no se fez a visualizao
de dados lidos em arquivo. Como exemplo, considerar que se dispe 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. Alm das altitudes tm-se, para cada um dos pontos, informaes de
temperatura e presso, teis na realizao de correes nas altitudes. A Figura 5.1 mostra o
arquivo montado com estas informaes.
Figura 5.1 Exemplo de um arquivo de dados.
Considerando que este arquivo esteja no diretrio em que se est trabalhando, para
visualizar o grfico Nmero do ponto x Altitude, basta especificar o arquivo, conforme
ilustrado na Figura 5.2.
gnuplot > reset
gnuplot > plot "desniv.txt"
Figura 5.2 Visualizao de dados lidos em arquivo.
-
8/8/2019 gnuplot_introducao
17/31
Introduo ao uso do aplicativo Gnuplot 15
UNESP Faculdade de Cincias e Tecnologia
Pode-se notar que, automaticamente, as colunas 1 e 2 so mostradas. Pode-se tambm
explicitar as colunas que se quer utilizar, usando a opo using. Os exemplos a seguir mostram
duas das maneiras de reproduzir o grfico anterior:
gnuplot > resetgnuplot > plot "desniv.txt" using 1:2
ou
gnuplot > reset
gnuplot > plot "desniv.txt" using ($1): ($2)
Caso o usurio queira representar os dados usando impulsos, linhas, etc, ou ainda mudar a
cor, pode-se usar a opo with (ver seo 3) na mesma linha, como mostram os exemplos da
Figura 5.3.
gnuplot > reset
gnuplot > plot "desniv.txt" using ($1):($2) with lines 3 6
gnuplot > reset
gnuplot > plot "desniv.txt" using ($1):($2) with impulses 3
gnuplot > rep "desniv.txt" using ($1):($2) with lines 8
Figura 5.3 Visualizao de dados lidos em arquivo, com mudana de atributos.
A princpio, o uso deplot "..." using 1:2eplot "..." using ($1):($2) no
faz diferena. Realmente, isso ocorre se a inteno for apenas visualizar a coluna 1 contra a
coluna 2. No entanto, o uso de $, antes do nmero da coluna ($2 por exemplo), permite que se
interprete $2 como uma varivel. Um exemplo do uso de $coluna seria na visualizao do
-
8/8/2019 gnuplot_introducao
18/31
Introduo ao uso do aplicativo Gnuplot 16
UNESP Faculdade de Cincias e Tecnologia
desnvel de cada um dos pontos do arquivo anterior, em relao ao ponto 10, que possui altitude
igual a 420,100m. Deste modo, para calcular o desnvel em relao a este ponto basta usar
gnuplot > reset
gnuplot > plot "desniv.txt" using ($1): ($2-420.100) with lines 3 6
Usando as informaes e a sintaxe vista nos exemplos anteriores, tente representar na
abscissa e ordenada dos grficos os seguintes elementos:
Abscissa Ordenada Nmero do ponto Temperatura (graus celsios) Nmero do ponto Presso atmosfrica Nmero do ponto Diferena de presso em relao mdia*
Numero do ponto Temperatura (graus celsios) eDiferena em relao temperatura do primeiro ponto.
Numero do pontoTemperatura em oF eDiferena em relao temperatura do primeiro ponto (oF).
* O valor mdio deve ser calculado fora do aplicativo
Como se pde perceber, fcil modificar as variveis que se quer representar na abscissa
e ordenada. Alm disso, pode-se fazer operaes usando colunas, como mostram os exemplos:
using ($1):($2 +$3)
using ($1):($2 +3*($3))
using ($2):($5)/100
Para mais detalhes sobre as opes do comando usingutilize a ajuda (help using).
Insero de ttulo e texto nos eixos x e y
Para a insero de ttulo e rtulo na abscissa e ordenada, os seguintes comandos podem
ser utilizados:
set title "texto que corresponde ao ttulo"
set xlabel "texto corresponde abscissa"
set ylabel "texto corresponde ordenada"
O exemplo da Figura 5.4 mostra o uso destes trs comandos.
-
8/8/2019 gnuplot_introducao
19/31
Introduo ao uso do aplicativo Gnuplot 17
UNESP Faculdade de Cincias e Tecnologia
gnuplot > reset
gnuplot > set grid
gnuplot > set xrange [0:25]
gnuplot > set title "Funo Parablica \n Teste 1"
gnuplot > set xlabel "X - Tempo (s)"
gnuplot > set ylabel "Y - Acelerao (m/s2)"
gnuplot > f(x)=0.1*x**2-5*x+20gnuplot > plot f(x) with lines 8
Figura 5.4 Insero de ttulo e rtulos na abscissa e ordenada.
Modificao do espaamento da grade
No exemplo anterior mostrou-se como se faz a insero do ttulo e dos rtulos nos eixos x
e y. Pode-se notar que a separao do grid(grade) no foi definida. Caso seja necessrio faze-
lo, pode-se usar as opes set xtics e set ytics. Considerando que os incrementosdesejveis em x e y sejam respectivamente ix e iy, a seguinte sintaxe pode ser utilizada:
set xtics ix
set ytics iy
Alm desta possibilidade pode-se, ainda, dividir os intervalos com ticsmenores, usando
as opes set mxtics e set mytics.
Os exemplos da Figura 5.5 ilustram o uso de alguns destes comandos. No segundo
grfico, as setas (>>>) so sobrepostas ao desenho apenas para mostrar a posio dos tics
menores.
-
8/8/2019 gnuplot_introducao
20/31
Introduo ao uso do aplicativo Gnuplot 18
UNESP Faculdade de Cincias e Tecnologia
gnuplot > reset
gnuplot > set grid
gnuplot > set xtics 2
gnuplot > set ytics 5
gnuplot > set xrange [0:25]
gnuplot > set title "funo parablica \n teste 1"
gnuplot > set xlabel "x - tempo (s)"gnuplot > set ylabel "y - acelerao (m/s2)"
gnuplot > f(x)=0.1*x**2-5*x+20
gnuplot > plot f(x) with lines 8
...
gnuplot > set grid
gnuplot > set xtics 2
gnuplot > set mxtics 2
gnuplot > set ytics 5
gnuplot > set mytics 2
gnuplot > set xrange [0:25] ...
Figura 5.5 Uso dos comandos xtics e mxtics.
Modificao da legenda
Em todos os exemplos vistos anteriormente, no se fez a modificao do contedo e nem
da posio da legenda. Para modificar o texto da legenda pode-se usar a opo t seguido do
texto a ser escrito, na mesma linha em que se usa o comandoplot (ou rep) como mostra o
exemplo da Figura 5.6. Para no ser includo nenhum texto na legenda basta usar t "".
-
8/8/2019 gnuplot_introducao
21/31
Introduo ao uso do aplicativo Gnuplot 19
UNESP Faculdade de Cincias e Tecnologia
gnuplot > reset
gnuplot > set grid
gnuplot > set xtics 2
gnuplot > set mxtics 2
gnuplot > set ytics 40
gnuplot > set mytics 2
gnuplot > set xrange [0:25]gnuplot > set title "Funo Parablica \n Teste 1"
gnuplot > set xlabel "X - Tempo (s)"
gnuplot > set ylabel "Y- Acelerao (m/s2)"
gnuplot > f(x,a,b,c)=a+b*x+c*x**2
gnuplot > plot f(x,120,-5,0.1) t"funo 1" with points 3 5gnuplot > rep f(x,80,+10,-0.15) t"funo 2" with lines 8
Figura 5.6 Modificao do texto da legenda usando t ....
Nos exemplos anteriores, a posio da legenda foi sempre no canto superior direito. Para
modificar a localizao da legenda pode-se utilizar o comando set key. Na seqncia, soapresentados quatro exemplos da utilizao deste comando, cada um considerando uma posio:
set key left bottom (Canto inferior esquerdo)set key right bottom (Canto inferior direito)set key left top (Canto superior esquerdo)set key right top (Canto superior direito)
Para outras opes de configurao da legenda consulte help key.
Criao de scripts em arquivo
medida que novas funes e opes de processamento vo sendo incorporadas no
script, seu tamanho aumenta e uma alternativa mais prtica de trabalho escrever o script
em arquivo, para depois carregar no aplicativo.
-
8/8/2019 gnuplot_introducao
22/31
Introduo ao uso do aplicativo Gnuplot 20
UNESP Faculdade de Cincias e Tecnologia
Considerando que o script apresentado na pgina anterior foi salvo no diretrio
c:\teste com o nome curva.gnu1, o roteiro indicado na Figura 5.7 pode ser utilizado para
carregar este arquivo:
Ativar o aplicativo gnuplot.
Mudar o diretrio (usando a opoChDirlocalizada na parte superiorda janela) e digitar o nome dodiretrio onde est localizado oarquivo.
Aps definir o diretrio mostradoo direcionamento dado, como podeser visto ao lado.
Para carregar o script,armazenado no arquivo curva.gnudeve-se utilizar a opo load,como mostrado ao lado. Pode-setambm usar haspas duplas () aoinvs de haspas simples.
Figura 5.7 Como carregar um arquivo script.
6.OPERADOR TERNRIO
Um operador disponvel no aplicativo gnuplot, importante em vrias situaes, o
operador ternrio. Normalmente este operador utilizado quando se deseja, por exemplo,
trabalhar com duas ou mais funes, dependendo de alguma condio pr-determinada.
A sintaxe deste operador a seguinte:
?< Opo A >: < Opo B >
1 No existe uma extenso obrigatria, sendo utilizada a extenso .gnu apenas por convenincia. Acrescente umaltima linha a este arquivo contendo o seguinte comando: 'pause -1 "Continua?" '. Deste modo o programa mostrao resultado e espera que o usurio feche e janela grfica.
-
8/8/2019 gnuplot_introducao
23/31
Introduo ao uso do aplicativo Gnuplot 21
UNESP Faculdade de Cincias e Tecnologia
Ao ser avaliada a Expresso E, se ela for verdadeira a opo A considerada e caso
contrrio, a opo B passa a ser vlida.
Exemplo de aplicao
Deseja-se visualizar um grfico, cujo domnio [0:10], composto por duas funes, de
acordo com as condies mostradas abaixo:
contrriocasose
7x4
2x2x)x(g
60x2)x(f)x(H 2
=
==
Na Figura 6.1 est ilustrado um exemplo do uso o operador ternrio, para a funoanterior.
reset
set xtics 1
set grid
set xrange [0:10]
f(x)=2*x-60
g(x)=-x**2+2*x-2
f(x)=(4
-
8/8/2019 gnuplot_introducao
24/31
Introduo ao uso do aplicativo Gnuplot 22
UNESP Faculdade de Cincias e Tecnologia
reset
set key bottom right
set grid
set xrange [0:2]
set yrange [-4:2]
f1(x)=0.5*x-1.5f2(x)=log(x)
f3(x)=sqrt(x*x*x/2)
plot f1(x) t"f1" 1
rep f2(x) t"f2" 5
rep f3(x) t"f3" 6
reset
set key bottom right
set grid
set xrange [0:2]
set yrange [-4:2]
f1(x)=0.5*x-1.5f2(x)=log(x)
f3(x)=sqrt(x*x*x/2)
g(x)=( x=0.5 && x1 ) ? f3(x) : 0/0
plot g(x) t"f1" 1
rep h(x) t"f2" 5
rep j(x) t"f3" 6
Figura 6.2 - Exemplo de uso do operador ternrio, no qual so utilizadas trs funes. Na parte
superior so mostradas as trs funes em todo o domnio.
Observe que ao usar uma indeterminao do tipo 0/0 ou 1/0 no operador ternrio, o
aplicativo simplesmente ignora, deixando de traar a funo.
7.SUPERFCIES
A visualizao de superfcies anloga visualizao de curvas planas. Neste caso o
comando bsico splot. Na Figura 7.1 mostrada uma superfcie dada pela funo
+= 22 yxlog)y,x(f .
-
8/8/2019 gnuplot_introducao
25/31
Introduo ao uso do aplicativo Gnuplot 23
UNESP Faculdade de Cincias e Tecnologia
reset
set grid
set format z "%4.2f"
f(x,y)=log(sqrt( x*x + y*y))
splot f(x,y)
Figura 7.1 - Exemplo da visualizao de uma superfcie na forma f(x,y).
No prximo, ilustrado na Figura 7.2, exemplo pode-se ver outra superfcie, onde so
utilizados outros comandos, como por exemplo:
set xlabel Usado para escrever no grfico o rtulo no eixo x (anlogo para y
e z)
set ztics Usado para modificar o espaamento das coordenadas em z
(anlogo para x y y)
set format Usado para escrever valores numricos com formato predefinido.
set title Usado para mostrar o ttulo
set hidden3D Usado no modo 3D para "esconder" o que fica "atrs" da superfcie
reset
set grid
set xlabel "X"
set ylabel "Y"
set zlabel "Z"
set ztics 0.25
set format z "%4.2f"
f(x,y)=sin(y/7)*cos(x/5)
splot f(x,y)
reset
set grid
set xlabel "X"
set ylabel "Y"
set zlabel "Z"
set title "Exemplo de Superfcie"
set ztics 0.50
set format z "%4.2f"
f(x,y)=sin(y/7)*cos(x/5)
set hidden3d
splot f(x,y) t""
Figura 7.2 - Exemplos para a visualizao de uma superfcie na forma f(x,y).
-
8/8/2019 gnuplot_introducao
26/31
Introduo ao uso do aplicativo Gnuplot 24
UNESP Faculdade de Cincias e Tecnologia
A mesma superfcie mostrada na Figura 7.3, sendo includas algumas curvas de nvel,
atravs do comando set contour.
reset
set grid
set xlabel "X"set ylabel "Y"
set zlabel "Z"
set title "Exemplo de Superfcie"
set ztics 0.50
set format z "%4.2f"
f(x,y)=sin(y/7)*cos(x/5)
set cntrparam levels incremental -1,0.25,1
set contour base
set hidden3d
splot f(x,y) t""
Figura 7.3 - Superfcie com as curvas de nvel.
A opo set cntrparam permite definir, por exemplo, qual o desnvel entre as curvas
sucessivas, dentre outros elementos, como se pode ver ao ativarhelp cntrparam.
As superfcies mostradas anteriormente so definidas por meio de funes algbricas.
Outra possibilidade atravs de um conjunto de coordenadas 3D, armazenadas em um arquivo
ASCII, e que determinam uma superfcie. Na Figura 7.4 mostrado um conjunto de pontos,
armazenados no arquivopontos3d.dat. Este arquivo composto por trs colunas, contendo
respectivamente as coordenadas X, Y, e Z.
# Conjunto de pontos 3d# Coluna 1 x# Coluna 2 y# Coluna 3 z#
10 10 10010 30 150
10 50 15010 70 13010 90 17020 10 10020 30 15020 50 12020 70 09320 90 13530 10 09930 30 18930 50 138
continua >
> continuao30 70 15230 90 17450 10 20050 30 15350 50 12850 70 203
50 90 14270 10 17370 30 15770 50 14270 70 20170 90 21090 10 17390 30 21690 50 14290 70 15290 90 132
Figura 7.4 - Arquivo de dados (pontos3d.dat) composto por um conjunto de pontos 3D. Ocaractere "#" no incio da linha indica que a linha um comentrio.
-
8/8/2019 gnuplot_introducao
27/31
Introduo ao uso do aplicativo Gnuplot 25
UNESP Faculdade de Cincias e Tecnologia
A Figura 7.5, a seguir, apresenta um scrip que permite gerar a superfcie definida pelos
pontos presentes no arquivopontos3d.dat.
# Exemplo de Visualizao de Pontos no espao 3D#
# Mauricio Galo / UNESP / Dep. de Cartografia
# Aplicativo: gnuplot
#
# Comandos preliminares: grid, tics, rtulos e ttulo
reset
set grid
set xtics 20
set ytics 20
set ztics 50
set title "Exemplo de uma superfcie gerada com Gnuplot\n\
(Dados lidos em arquivo)"set xlabel "X"
set ylabel "Y"
set zlabel "Z(m)"
#
# Comandos especficos para visualizao 3D
set hidden3d
set view 40,30,1,1
set data style points
set dgrid3d 30,30,2
splot 'pontos3d.dat' using ($1):($2):($3) t"" with lines 5
pause -1 "Fecha?"
#
# Curvas de nvel
set contour base
set cntrparam levels incremental 50,15,300
set dgrid3d 30,30,2
splot 'pontos3d.dat' using ($1):($2):($3) t"" with lines 5
pause -1 "Fecha?"
Figura 7.5 - Exemplo descriptque faz a visualizao de um arquivo de pontos e gera asuperfcie.
A Figura 7.6 mostra as superfcies geradas ao ser executado o scrip apresentado na
Figura 7.5, que utiliza como dados de entrada os pontos da Figura 7.4.
-
8/8/2019 gnuplot_introducao
28/31
Introduo ao uso do aplicativo Gnuplot 26
UNESP Faculdade de Cincias e Tecnologia
Figura 7.6 - Superfcies geradas a partir de uma nuvem de pontos 3D.
8.TPICOS ADICIONAIS
Representao de ngulos em graus ou radianos
Pordefault, o modo de representao dos ngulos em radianos e para modificar esse
modo de representao pode-se usar o comando set angles. As opes so as seguintes:
set angles degrees
set angles radians
-
8/8/2019 gnuplot_introducao
29/31
Introduo ao uso do aplicativo Gnuplot 27
UNESP Faculdade de Cincias e Tecnologia
Comando de pausa
Este comando normalmente usado em um arquivo script no qual apresentada uma
seqncia de grficos, devendo-se colocar uma pausa antes do segundo grfico, do terceiro, e
assim sucessivamente. Como exemplo de uso pode-se considerada a sintaxe:
pause -1 " Continua ? "
Troca de variveis
Geralmente, ao escrever funes, as variveis utilizadas so x, y e z. No entanto, os
nomes podem ser modificados usando o comando set dummy. Como exemplos de uso tem-se:
set dummy lat
set dummy h
set dummy lat, lon
set dummy h,s
Na seqncia apresentado um grfico (Figura 8.1), no qual so usados os comandos
dummy, angles epause. Considerando que se tem um ponto numa altitude geomtrica h sobre
um elipside de semi-eixo maiora (a=6378,160 km) e excentricidade e (e= 0.08182), deseja-se
obter o grfico da funo que fornece o raio de um paralelo em funo da latitude. A equao
que permite o clculo do raio do paralelo para uma latitude , dada por:
( )+=
coshNr
onde ( ) 2/122 sene1aN = .
Considerando que a latitude varia de 0 a /2 e que h seja 450m, o script que cria os
grficos desejados, pode ser escrito da seguinte maneira:
-
8/8/2019 gnuplot_introducao
30/31
Introduo ao uso do aplicativo Gnuplot 28
UNESP Faculdade de Cincias e Tecnologia
# Clculo do raio do paralelo
#
# M. Galo, UNESP, Dep. de Cartografia
reset
set gridset time
set angles radians
set dummy lat
set xlabel "Latitude em radianos"
set ylabel "Raio do paralelo em km"
a=6378.160
e=0.08182
set xrange [0:pi/2]
N(lat)=a*( 1 - e*e*sin(lat)*sin(lat) )**(-0.5)
raio(lat,alt)=( N(lat) + alt )*cos(lat)
plot raio(lat,0.450) t"Raio para h=450m"
pause -1 "Fecha?"
reset
set grid
set time
set angles degrees
set dummy lat
set xlabel "Latitude em graus"
set ylabel "Raio do paralelo em km"
a=6378.160
e=0.08182
set xrange [0:90]
N(lat)=a*( 1 - e*e*sin(lat)*sin(lat) )**(-0.5)raio(lat,alt)=( N(lat) + alt )*cos(lat)
plot raio(lat,0.450) t"Raio para h=450m"
pause -1 "Fecha?"
Figura 8.1 Exemplo do uso dos comandos dummy, angle epause.
-
8/8/2019 gnuplot_introducao
31/31
Introduo ao uso do aplicativo Gnuplot 29
AGRADECIMENTO
O autor agradece Prof. Maria de Lourdes Bueno Trindade Galo pelas sugestes
apresentadas.
BIBLIOGRAFIA
COLLEGE OF NATURAL SCIENCES. Introduction to GnuPlot. Disponvel em
. Acesso em: 09 agosto 2003.
GALO, Mauricio. Instrues iniciais para uso do GNUPLOT. Disponvel em:. Acesso em: 09 agosto 2003.
GAVIN, Henri. GNUPLOT - A Brief Manual and Tutorial. Disponvel em:
. Acesso em: 09 agosto 2003.
Gnuplot central. Disponvel em: . Acesso em: 09 agosto 2003.
LIAW, Andy; CRAWFORD, Dick. Gnuplot 3.5 Users Guide. November, 1994. 18pp.
(Disponvel no endereo: < http://www.vislab.usyd.edu.au/users/manuals/>)
REITER, Bernhard. Gnuplot - Scientific Plotting. Disponvel em: . Acesso em: 09 agosto 2003.