gnuplot_introducao

download gnuplot_introducao

of 31

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.