mini-curso: gnuplot

86
1ª Oficina de Física Computacional minicurso: gnuplot gnuplot > linguagem de script para gerar gráficos em 2D e 3D pela linha de comando. Dias 02 a 06 de Fevereiro de 2015 Prof. Dr. Antonio Soares [email protected] Departamento de Física http://www.gnuplot.info

Upload: antonio-soares

Post on 08-Aug-2015

428 views

Category:

Science


5 download

TRANSCRIPT

Page 1: Mini-Curso: gnuplot

1ª Oficina de Física Computacional

minicurso: gnuplot

gnuplot >linguagem de script para gerar gráficos em 2D e 3D pela linha de comando.

Dias 02 a 06 de Fevereiro de 2015

Prof. Dr. Antonio [email protected]

Departamento de Física

http://www.gnuplot.info

Page 2: Mini-Curso: gnuplot

Minicurso: gnuplot

Primeira parte

● O que é gnuplot? Para que serve?

● Aquisição e Instalação

● Comandos Operacionais básicos

● Notação e Operações Interativas

● Gráficos Bidimensionais - plot

● Personalizando o Gráfico

● Funções Definidas por partes – Operador Ternário

● Gráficos Tridimensionais - splot

Segunda parte

● Modo Multiplot

● Gravação de Gráficos em Arquivo

● Leitura de Arquivos Externos

● Arquivos de Script Simples

● Curvas Parametrizadas no R² e R³

● Superfícies Parametrizadas

● Gráfico Polar

● Recursos Adicionais: se houver tempo.

Page 3: Mini-Curso: gnuplot

gnuplot● O que é gnuplot?

– É um aplicativo matemático destinado a criação e visualização de gráficos e superfícies.

– Ele atende diversas áreas que operam com gráficos, como matemática, estatística, física, engenharias (civil, elétrica, cartográfica, ambiental, …), etc.

– Foi desenvolvido para auxiliar cientistas e estudantes a visualizar gráficos (2D e 3D) baseados em funções matemáticas ou em arquivos de dados.

– É um aplicativo de uso livre e tem versões para vários sistemas operacionais, entre os quais: Windows, Unix, Linux, OS/2, DOS, Android (versão limitada), etc.

Page 4: Mini-Curso: gnuplot

Onde encontrar o gnuplot?

http://www.gnuplot.info (Página oficial)http://sourceforge.net/projects/gnuplot/files/gnuplot/4.6.0/

Page 5: Mini-Curso: gnuplot

Instalação do gnuplot

Terminada a instalação, inicie o programa gnuplot, executando a seguinte sequência de comandos.

Botão IniciarTodos os Programasgnuplot ---> gnuplot 4.6

Page 6: Mini-Curso: gnuplot

Exemplos de gráficos gerados utilizando este aplicativo

Page 7: Mini-Curso: gnuplot

Exemplos de gráficos gerados utilizando este aplicativo

Page 8: Mini-Curso: gnuplot

Ambiente de Trabalho: Terminal – tela modo texto

Para sair do programa, basta escrever, na linha de comando gnuplot >, a instrução exit ou quit, e em seguida, acionar a tecla <Enter>.

Para limpar a tela do terminal, basta escrever após o prompt, gnuplot >, a instrução !clear ( ! é uma espécie de gerenciador – entra no modo shell )

Page 9: Mini-Curso: gnuplot

Não há diferença entre executar o programa gnuplot.exe (versão console)

ou o wgnuplot.exe (interface gráfica), o resultado final é sempre o mesmo.

Tela gráfica

Tela modo texto

Page 10: Mini-Curso: gnuplot

Modos de trabalho

✔ Diretamente a partir da linha de comando, como o Maple,

MatLab, Octave, Scilab, Shell, etc.

✔ A partir de um arquivo script (do tipo ASCII) que pode ser

carregado usando a opção load “arquivo”.

✔ A partir de um arquivo em BAT, no qual o aplicativo e o arquivo

script são ativados simultaneamente, sem a necessidade de

executar o programa wgnuplot.exe.

✔ A partir de um programa escrito em linguagem C/C++, Fortran,

linguagem Lua, entre outras.

Page 11: Mini-Curso: gnuplot

● Para utilizar o gnuplot, é preciso informar comandos que produzam ações em seu ambiente. Esses comandos podem ser formados por uma ou mais palavras reservadas.

● Principais comandos do gnuplot (grafados em letras minusculas)

Comandos Operacionais Básicos

clear limpar a tela de apresentação de gráficos

exit ou quit encerrar a execução do programa

help apresentar o modo de ajuda do programa

load chamar um arquivo externo - script

plot desenhar um gráfico bidimensional na tela gráfica

print apresentar o resultado de uma expressão fornecida

replot redesenhar um gráfico de acordo com o último plot ou splot

reset redefinir os valores padrão após o uso do comando set

set definir as configurações (eixos, títulos, cores, símbolos, etc)

splot desenhar um gráfico tridimensional na tela gráfica

test testar a capacidade gráfica do terminal e a paleta de cores

unset redefinir o estado alterado pelo comando set

Page 12: Mini-Curso: gnuplot

Notação e Operações Interativas

● Notação Computacional ● Funções Matemáticas

● Operadores Aritméticos

Comentários: tudo após o tralha (#)

Page 13: Mini-Curso: gnuplot

Aprendendo com Exemplos: comando print

O comando print – é usado para apresentar o resultado de uma expressão fornecida: numérica, algébrica, ou uma cadeia de caracteres. Podemos usá-lo como uma 'calculadora', para realizar operações fundamentais.

Page 14: Mini-Curso: gnuplot

Gráficos Bidimensionais● Comando plot em ação

● Modificador de configuração – comando set

● Principais complementos do comando set:

grid exibir uma grade no plano cartesiano

zeroaxis traçar os eixos X e Y do plano cartesiano

xrange[ini:fin] modificar o domínio (eixo X) da função

yrange[ini:fin] modificar o contra-domínio (eixo Y) da função

title “texto” permite definir um título de identificação para o grafico

xlabel “texto” define o título do eixo X

ylabel “texto” define o título do eixo Y

xtics val_x mudança da escala do eixo das abscissas

ytics val_y mudança da escala do eixo das ordenadas

mxtics num_x permite marcar os tics entre xtics

mytics num_y permite marcar os tics entre ytics

Page 15: Mini-Curso: gnuplot

clear limpar a tela gráfica (seja no linux ou no windows)

!clear limpar o ambiente de trabalho (terminal) no Linux/Unix

!cls limpar o ambiente de trabalho (terminal console) no windows

● Recursos de informação: help, pwd, show, test

● Sintaxes do plot:

● Simples: plot {<função> | “nome_arquivo”}

help apresentar o modo de ajuda do programa

pwd apresentar o nome do diretório de trabalho em uso

show apresentar a configuração de certo parâmetro do ambiente

test visualizar as cores, bem como os formatos dos pontos

● Geral: plot {<faixa>} {<função> | “nome_arquivo” {modificadores}} {axes <axes>} {title “texto” | notitle} {with <estilo da linha>} {, novas definições }

● Recursos de limpeza: clear, !clear, !cls

Page 16: Mini-Curso: gnuplot

Aprendendo com Exemplos - Gráficos 2D

reset Retorna as configurações ao modo padrão

unset Redefine o estado alterado pelo comando set

replot Redesenha o gráfico com as útimas alterações

● Função do 1º Grau

Page 17: Mini-Curso: gnuplot

Aprendendo com Exemplos - Gráficos 2D

replot Tem também a funcão de desenhar gráficos sobrepostos

● Funções do 2º Grau

Page 18: Mini-Curso: gnuplot

Aprendendo com Exemplos - Gráficos 2D

● Funções Trigonométricas

plot Também permite a sobreposição de gráficos, desde que as funções sejam separadas por vírgulas

plot com uma função não há sobreposição e sim substituição

Page 19: Mini-Curso: gnuplot

Aprendendo com Exemplos - Gráficos 2D

● Funções Exponenciais

Page 20: Mini-Curso: gnuplot

Aprendendo com Exemplos - Gráficos 2D● Funções Trigonométrica Inversas

Page 21: Mini-Curso: gnuplot

Aprendendo com Exemplos - Gráficos 2D

● Definição de funções ● Gráficos Sobrepostos

plot sobreposição de gráficos, a partir das definições das funções com o comando plot.

Page 22: Mini-Curso: gnuplot

Personalizando o Gráfico - INesta seção são apresentados comando que possibilitam mudar

alguns atributos dos gráficos construídos com o gnuplot.

Modificadores de Cor e Formato das Linhas

Cor Formato de Linhas Comando: with (w)

Opções (Largura, Tipo e Tamanho)

linecolor (lc) lines (l) linewidth (lw)

linetype (lt) points (p) linetype (lt)

linestyle (ls) linespoints (lp) linestyle (ls)

linecolor rgb “nome_cor” impulses (i) pointtype (pt)

dots, steps, financebars pointsize (ps)

● Mudar formato: plot f(x) with <estilo_linha> {opções}

● Mudar só a cor: plot f(x) <comando_cor> {opções}

Sintaxes do plot:

Page 23: Mini-Curso: gnuplot

Personalizando o Gráfico – Cont.

Para visualizar as cores, bem como o formato das entidades

pontuais de apresentação no gráfico, basta ativar, no prompt do

programa, o comando test.

Há uma combinação

de diferentes tipos de

pontos em nove

cores possíveis.

Page 24: Mini-Curso: gnuplot

Exemplos – Gráficos personalizados

● Mudando cor e a espessura ● Gráficos Sobrepostos

Page 25: Mini-Curso: gnuplot

Exemplos – Gráficos personalizados

● Mudando formato e a espessura ● Gráficos Sobrepostos

Page 26: Mini-Curso: gnuplot

Exemplos – Gráficos personalizados

● Mudando formato e a espessura ● Gráficos Sobrepostos

Page 27: Mini-Curso: gnuplot

Personalizando o Gráfico - IIAgora, veremos como se faz a modificação do conteúdo e da

posição da legenda de um gráfico.

Modificador de Posição da Legenda: set key

right top (padrão) canto superior direito

right bottom canto inferior esquerdo

left top canto superior esquerdo

left bottom canto inferior esquerdo

center centro da área do gráfico

outside | inside legenda fora (dentro) da área do gráfico

below legenda fora e abaixo da área do gráfico

at x,y define a posição da legenda na coordenada informada

on | off ativa legenda (desativa legenda)

Para mais informações sobre o comando key: show key ou help key

Page 28: Mini-Curso: gnuplot

Personalizando o Gráfico - IIPara modificar o texto da legenda, usa-se o complemento

opcional title seguido do texto a ser escrito, na mesma linha de

instrução do comando plot (ou replot).

Para impedir a exibição da legenda: notitle

Para não ser incluído nenhum texto na legenda: title “ ” | t “ ”

● plot f(x) title “texto_legenda” with <estilo_linha> {opções}

● plot f(x) title “texto_legenda” <comando_cor> {opções}

Sintaxes do plot com alteração da legenda do gráfico:

● plot f(x) t “texto_legenda” <comando_cor> {opções}

● plot f(x) t “texto_legenda” with <estilo_linha> {opções}

Page 29: Mini-Curso: gnuplot

Exemplos – Gráficos personalizados● Mudando conteúdo e posição da legenda

Page 30: Mini-Curso: gnuplot

Exemplos – Gráficos personalizados● Problema da Partícula Livre em um Poço Potencial Infinito

Page 31: Mini-Curso: gnuplot

Funções Definidas por Partes - Operador Ternário

Um operador disponível no aplicativo gnuplot que é bastante usado

para efetivar tomadas de decisão, é o operador ternário.

A estrutura sintática deste operador é a seguinte:

(condição)? [ação A - cond. Verdadeira] : [ação B – cond. falsa]

Em uma ação ternária, se a condição é verdadeira, executa-se a

ação A, caso contrário, executa-se a ação B.

Normalmente este operador é utilizado na definição de funções que

dependem de alguma condição pré-determinada: tipo funções definidas

por partes, e funções definidas por desigualdades.

Page 32: Mini-Curso: gnuplot

Exemplos com Operador Ternário

● Definição de duas funções, chamadas min(a,b) e max(a,b), que

retornam, respectivamente, o menor e o maior valor entre dois valores

fornecidos.

Page 33: Mini-Curso: gnuplot

Exemplos com Operador Ternário

● Função definida por partes:

set label <tag> “texto” at <x,y> tc lt <n> para escrever textos na posição e cor desejada no gráfico

Page 34: Mini-Curso: gnuplot

Exemplos com Operador Ternário

● Função definida por partes:

Indeterminação do tipo 0/0 ou 1/0 no operador ternário, simplesmente deixa de traçar a função.

Page 35: Mini-Curso: gnuplot

Gráficos Tridimensionais

● Comando splot em ação

trabalha com funções de duas variáveis, ou tabelas com no mínimo três colunas. É extremamente semelhante ao plot.

● Complementos básicos do comando set para gráficos 3D:

zrange[ini:fin] muda o limite (intervalo) do eixo Z

zlabel “texto” define o título do eixo Z

ztics val_z mudança da escala do eixo Z (das cotas)

mztics num_z permite marcar os tics entre ztics

● Sintaxes do splot:

● Simples: splot {<função> | “nome_arquivo”}

● Geral: splot {<faixa>} {<função> | “nome_arquivo” {modificadores}} {title “texto” | notitle} {with <estilo da linha>} {, novas definições }

Page 36: Mini-Curso: gnuplot

Aprendendo com Exemplos - Gráficos 3D

reset Retorna as configurações ao modo padrão

unset Redefine o estado alterado pelo comando set

replot Redesenha o gráfico com as útimas alterações

Page 37: Mini-Curso: gnuplot

Personalizando: Efeito sólido - hidden3dA fim de melhorar a visualização do gráfico 3D, é possível ocultar as linhas

da parte de trás da curva. Para tanto, use a instrução set hidden3d

Para melhorar a malha gráfica dos gráficos 3D, alteramos a quantidade de

pontos, com a instrução set isosamples n_x, n_y (set samples n_x (2D))

Page 38: Mini-Curso: gnuplot

Personalizando: Curvas de Nível - contour

Para traçar as curvas de nível, utiliza-se a instrução set contour. Estas

podem aparecer no plano (base), na superfície (surface) ou em ambos (both)

show contour exibe as definições correntes sobre as curvas de nível

help contour exibe informações do manual sobre curvas de nível

help cntrparam exibe diversos estilos e comportamentos sobre os contornos

Page 39: Mini-Curso: gnuplot

Estilos para Curvas de Nível - cntrparam

Para definir estilos para curvas de nível, tipo: qual o desnível entre as curvas

sucessivas, dentre outros elementos, utiliza-se a instrução set cntrparam.

levels discrete z1, z2, z3, ... curvas de nível discretas

levels incremental z_inf, z_inc, z_sup curvas de nível incrementadas

Page 40: Mini-Curso: gnuplot

Personalizando: Planos - xyplanePara alterar a posição do plano cartesiano de apresentação de um gráfico

3D, usa-se a instrução set xyplane, ou na forma absoluta (set xyplane at)

ou na forma relativa (set xyplane relative). Veja as diferenças no exemplo:

O valor 0.5 que é uma fração da amplitude do eixo das cotas, é o valor

padrão do programa gnuplot.

Page 41: Mini-Curso: gnuplot

Personalizando: Paleta de Cores - pm3dPara associar uma mapa de cores a uma superfície, utiliza-se a instrução

set pm3d, com as opções at s (surface) ou at b (base) ou at t (top).

help pm3d exibe informações sobre diversos estilos para a paleta de cores

Page 42: Mini-Curso: gnuplot

Estilos para Paleta de Cores - paletteA modificação na escala de cores do mapa de paleta (pm3d), é feita usando

a instrução set palette, com as opções gray (cinza) ou color (colorida).

help palette exibe informações de estilos para o mapa de paleta

palette defined para exibição manual de cores: (val1 “cor1”, val2 “cor2”, … )

unset colorbox desativa a caixa de cores do mapa de paleta

Page 43: Mini-Curso: gnuplot

Segunda Parte - gnuplot

● Modo Multiplot

● Gravação de Gráficos em Arquivo

● Leitura de Arquivos Externos

● Arquivos de Script Simples

● Curvas Parametrizadas no Plano e no Espaço

● Superfícies Parametrizadas

● Gráfico Polar.

● Recursos Adicionais: se houver tempo.

Page 44: Mini-Curso: gnuplot

Visualizando o Modo Multiplot

● Modo multiplot em ação

permite a apresentação de vários gráficos na mesma tela, mas de forma

separada e sem sobreposição. Para ativá-lo, executa-se a instrução set

multiplot, e para desativá-lo, executa-se unset multiplot.

size divide a tela em sub-áreas, fixando o tamanho do gráfico.

origin define a origem do gráfico a ser desenhado na tela

● Os complementos do set no modo multiplot:

A medida padrão do complemento size é 1,1. O tamanho padrão da tela vai

de 0,0 a 1,1. Normalmente, em conjunto com a instrução set origin, utiliza-se

a instrução plot na mesma linha, separados por ponto e vírgula.

Page 45: Mini-Curso: gnuplot

Exemplo 1 – Modo Multiplot

set size 1, 0.5 Divide a tela em duas áreas (comprimento 1, e largura 0.5)

set origin 0, 0.5 Determina a primeira área

set origin 0, 0 Determina a segunda área

Page 46: Mini-Curso: gnuplot

Exemplo 2 – Modo Multiplot

set size 0.5, 0.5 Divide a tela em quatro áreas (comp - 0.5, e largura 0.5)

set origin 0, 0.5 Determina a primeira área

set origin 0, 0 Determina a segunda área

set origin 0.5, 0.5 Determina a terceira área

set origin 0.5, 0 Determina a quarta área

Page 47: Mini-Curso: gnuplot

Exemplo 3 – Modo Multiplot

set size 0.5, 0.5 Divide a tela em quatro áreas (comp - 0.5, e largura 0.5)

set origin 0, 0.5 Determina e usa primeira área

set origin 0, 0 Determina e usa segunda área

set origin 0.5, 0 Define set size 0.5, 1, e usa a última área

Page 48: Mini-Curso: gnuplot

Gravação de Gráficos em Arquivos

terminal define o tipo de terminal que será utilizado (tipo de extensão)

output define o nome do arquivo e sua extensão, entre aspas duplas

● Os complementos do set para redirecionamento de fluxo:

Para gravar um gráfico como um arquivo de imagem, é necessário

direcionar o fluxo de saída para um arquivo gráfico. Para tanto,

basta utilizar os complementos terminal e output do comando set

● set terminal <nome_terminal>

● set output “nome_arquivo.extensão”

● plot (ou splot ou replot) f(x) …

● set terminal <padrão>; replot Em geral, o padrão é: wxt

Sintaxe do redirecionameto de fluxo:

Page 49: Mini-Curso: gnuplot

Lista de Terminais para Gravação.

Para visualizar uma lista completa dos recursos que podem ser

ativados e desativados pelo comando terminal, basta executar, no prompt

do programa, a instrução: set terminal (ou ?terminal ou set term)

Para maiores informações, digite o nome do terminal desejado em:

Subtopic of terminal: jpeg ou postscript ou pdfcairo ou png

Principais:

● jpeg

● postscript

● pdfcairo

● png

● wxt (padrão)

Page 50: Mini-Curso: gnuplot

Exemplo 1 – Gravando em Arquivo: png

pwd para apresentar o nome do diretório de trabalho em uso

cd para mudar o diretório de trabalho: cd “..\Minhas Imagens”

shell apresenta uma tela de linha de comando do sistema operacional em uso

Comandos Importantes quando se trabalha com arquivos:

Page 51: Mini-Curso: gnuplot

Exemplo 2 – Gravando em Arquivo: pdf

Veja o uso do pwd para apresentar o local onde está salvo o arquivo do gráfico

e o uso do set output forçando a saida do terminal pdfcairo

Page 52: Mini-Curso: gnuplot

Leitura de Arquivos ExternosAté este tópico, foram criados gráficos com base em funções. Agora,

veremos como se faz para produzir gráficos a partir de dados lidos

em arquivo.

Para utilizar arquivos externos, eles devem ser gravados em

formato de texto puro (apenas códigos ASCII), normalmente com

extensão .txt. Porém, qualquer extensão é válida desde que o arquivo

esteja gravado no formato ASCII puro.

Sintaxes dos comando plot (ou splot):

● plot “nome_arq.txt” with <estilo_linha>

● plot “nome_arq.txt” using 1:2 with <estilo_linha>

● plot “nome_arq.txt” using ($1):($2) with <estilo_linha>

● splot “nome_arq.txt” using ($1):($2):($3) with <estilo_linha>

Page 53: Mini-Curso: gnuplot

Observações sobre a Leitura de Arquivos● Os dados nos arquivos devem estar baseados em colunas;

● Se o gráfico é 2D (3D), duas (três) colunas serão usadas;

● O arquivo de dados deve estar no diretório de trabalho do usuário.

● Os dados devem estar separados pelo uso da tecla <Tab>, senão,

use a instrução set datafile separador “tipo” ;

● A princípio, o uso de plot “...” using 1:2 e plot “...” using ($1):($2)

não faz diferença, se a intenção for visualizar a coluna 1 “contra” a

coluna 2;

● A diferença ocorre quando há intenção de fazer operações com os

dados da coluna. Nesse caso, usa-se a versão com ($1):($2)[:($3)].

Page 54: Mini-Curso: gnuplot

Exemplo 1 – Leitura de Arquivo● Arquivo produzido em um editor de textos, de nome: corrente.txt

Page 55: Mini-Curso: gnuplot

Exemplo 2 – Leitura de Arquivo● Arquivo produzido em um editor de textos, de nome: vendas.txt

Page 56: Mini-Curso: gnuplot

Exemplo 3 – Leitura de Arquivo● Arquivo produzido em um editor de textos, de nome: vendas.txt

● splot “nome_arq.txt” u ($1):($2):($3) w <estilo_linha> {opçoes}

Page 57: Mini-Curso: gnuplot

Exemplo 4 – Leitura de Arquivo● Arquivo produzido em um editor de textos, de nome: estoque.txt

Page 58: Mini-Curso: gnuplot

Exemplo 5 – Leitura de Arquivo● Arquivo produzido em um editor de textos, de nome: produção.txt

smooth frequency associa a cada x um valor para y em ordem

Page 59: Mini-Curso: gnuplot

Arquivos de Script SimplesAté este tópico, todos os gráficos foram gerados de maneira

interativa, ativando instruções no prompt do programa linha por linha.

Uma alternativa mais prática é criar arquivos de script que guardem

instruções, os quais podem, posteriormente, ser carregados e

executados.

Scripts, de maneira geral, são programas escritos na linguagem do

gnuplot. A criação de script é feita com um editor de textos, gravados

no formato texto puro, com a extensão .plt ou .gnu.

Sintaxes para rodar arquivos script:

● > load “nome_arq.plt” (no aplicativo - dentro do gnuplot)

● $ gnuplot nome_arq.plt (no terminal do S.O. - fora do gnuplot)

Page 60: Mini-Curso: gnuplot

Etapas para a Criação de ScriptEm um editor de textos, escreva todas as instruções que geraria o

gráfico e grave-o com o nome, por exemplo, script.plt no seu diretório

padrão de trabalho. Este arquivo é um arquivo script.

● Sua execução é feita por:

> load “script.plt”

$ gnuplot script.plt

O comando pause tem por finalidade estabelecer uma pausa no qual o

comando é colocado. Sua sintaxe é: pause <tempo> {“cadeia”}

A tela gráfica com a imagem

do gráfico definido no script.

● Resultado:

Page 61: Mini-Curso: gnuplot

Aprendendo com Exemplos – script01.gnu

Page 62: Mini-Curso: gnuplot

Aprendendo com Exemplos – script02.gnu

Page 63: Mini-Curso: gnuplot

Aprendendo com Exemplos – f_composta.gnu

Page 64: Mini-Curso: gnuplot

Aprendendo com Exemplos – multiplot.gnu

A execução deste script foi realizada fora do aplicativo gnuplot. Nesse caso, usa-

se a instrução: gnuplot <nome_script>

Page 65: Mini-Curso: gnuplot

Aprendendo com Exemplos – corrente.gnu

Page 66: Mini-Curso: gnuplot

Curvas Parametrizadas

Até este tópico, trabalhamos com gráficos gerados a partir de funções, em

geral, definidas em termos das variáveis independentes x, y, e z, de acordo

com o uso dos comandos plot e splot.

No entanto, existe uma classe de curvas, ditas parametrizadas, que na

definição exigem que um certo ponto (P) do plano cartesiano, representado por

P(x,y) é definido por funções x = f(t) e y = g(t), em que x e y são

coordenadas a serem consideradas e obtidas por meio das funções f(t) e

g(t), respectivamente, que possuem em comum a variável independente t.

Assim, para traçar gráficos de curvas obtidas por equações paramétricas, é

necessário definir duas funções do tipo: f(t) e g(t), onde t é comum às duas

equações.

Exemplo: Círculo de raio a, e centro na origem. As equações paramétricas

são: x = f(t) = a.cos(t) e y = g(t) = a.sen(t), 0 < t < 2π.

Page 67: Mini-Curso: gnuplot

Gráfico de Curvas Parametrizadas no PlanoPara criar gráficos com base em funções paramétricas, utiliza-se a

instrução: set parametric (unset parametric – para desabilitar)

Essa instrução, ao ser executada, apresenta a mensagem dummy

variable is t para curves, u/v for surfaces, informando que a variável

independente t está ativa para traçar as curvas de equações paramétricas e as

variáveis u e v estão ativas para traçar gráficos de superfície.

Sintaxe para gerar curvas a partir de funções paramétricas

● Modo não paramétrico: x, y e z – variáveis independentes● Modo paramétrico: t, u e v – variáveis independentes

● set parametric

● plot f(t), g(t)

● unset parametric

Lembrando que:

Page 68: Mini-Curso: gnuplot

Aprendendo com Exemplos - Curvas 2D● Círculo definido por equações paramétricas: f(t)=sen(t) e g(t)=cos(t)

dummy t No modo paramétrico, a variável independente t é destinada somente a gráficos bidimensionais.

Page 69: Mini-Curso: gnuplot

Aprendendo com Exemplos - Curvas 2D● Curva parametrizada pelas equações: f(t)=sen(3t) e g(t)=cos(5t)

Problema: Teste gerar as instruções sem estar no modo paramétrico.

Page 70: Mini-Curso: gnuplot

Aprendendo com Exemplos - Curvas 2D● Curva definida pelas equações: f(x)=sen(3x/2).cos(2*x/5) e g(x)=x/2

1º Gráfico Modo não paramétrico

2º Gráfico Modo paramétrico

Page 71: Mini-Curso: gnuplot

Aprendendo com Exemplos - Curvas 2D● Curva cardióide: f(t)=(1+cos(t)).cos(t) , g(x)=(1+cos(t)).sen(t)

1º Gráfico Modo não paramétrico

2º Gráfico Modo paramétrico

Page 72: Mini-Curso: gnuplot

Gráfico de Curvas Parametrizadas no EspaçoO uso da instrução set parametric ativa na memória a variável

independente t, que somente opera com duas referências, ou seja, f(t) e g(t).

Para apresentar curvas no espaço, é necessário ativar outra variável

independente, diferente da variável t, e, para isso, é preciso utilizar a

instrução set dummy após o uso da instrução set parametric.

Sintaxe para gerar curvas no R³: ● set parametric

Para voltar ao estado normal: unset dummy; unset parametric

● set dummy <var>● splot f(<var>), g(<var>), h(<var>)

Complemento adicional do set: dummy

A instrução set dummy tem por objetivo mudar as variáveis

independentes padrão do programa. Sintaxe: set dummy <var>

Page 73: Mini-Curso: gnuplot

Aprendendo com Exemplos - Curvas 3D● Curva helicoidal de equações: f(u)=sen(u), g(u)=cos(u), u

set urange[ini:fin] esse recurso se assemelha à instrução set xrange[ini:fin]

Page 74: Mini-Curso: gnuplot

Superfícies Parametrizadas

Para traçar as superfícies obtidas por equações paramétricas, é necessário

definir três funções do tipo: f(u,v), g(u,v) e h(u,v), onde u, v são comuns às

três equações.

Por se tratar de gráficos com base em funções paramétricas, aqui, também

se utiliza a instrução: set parametric (unset parametric – para desabilitar)

Como vimos anteriormente, essa instrução, ao ser executada, informa que

as variáveis u e v são as variáveis ativas para traçar gráficos de superfície.

Sintaxe para gerar superfícies a partir de funções paramétricas:

set parametric

splot f(u,v), g(u,v), h(u,v)

unset parametric

Page 75: Mini-Curso: gnuplot

Exemplo 1 – Superfície Parametrizada● Esfera Parametrizada: (cos(u)cos(v), 2sen(u)cos(v), 3sen(v))

set grid xtics ytics ztics traça uma grade exatamente nos rótulos da escala

help grid para obter mais informações sobre os estilos da grid

unset surface comando para esconder a superfície

Page 76: Mini-Curso: gnuplot

Exemplo 2 – Superfície Parametrizada● Cilindro Circular Reto: (cos(u), sen(u), v)

unset border para esconder as bordas do gráfico

unset tics para esconder os valores da escalas nos eixos

set urange (vrange) comando equivalente aos xrange, yrange e zrange

Page 77: Mini-Curso: gnuplot

Exemplo 3 – Superfície Parametrizada● Prisma Hexagonal: (cos³(u)cos³(v), cos³(u)sen³(v), sen³(u))

set key box lc 1 legenda envolvida por uma caixa com estilo de cor vermelha

Page 78: Mini-Curso: gnuplot

Exemplo 4 – Superfície Parametrizada● Concha parametrizada: f(u,v) = cos(u)*u*(1+cos(v)/2), g(u,v) = sin(v)*u/2,

h(u,v) = sin(u)*u*(1+cos(v)/2 )

set autoscale z comando para liberar a escala do eixo z (deixa livre)

Page 79: Mini-Curso: gnuplot

Gráfico Polar

Para utilizar coordenadas polares, é preciso usar a instrução set polar, que

ativa esse modo de trabalho. Nesse modo, a variável independente é t para

as curvas.

O plano cartesiano, baseado nas coordenadas x e y, é muito conhecido e

bastante utilizado, mas existem outras formas de representar dados em

gráficos. Uma delas é por meio das coordenadas polares, representadas por r

(raio) e teta (ângulo).

Sintaxe: (modo de coordenadas polares)

● set polar

● plot f(t) # perceba que há apenas uma referência: f(t)

● unset polar # para desativar o modo polar

Page 80: Mini-Curso: gnuplot

Exemplo 1 – Gráfico Polar● Curva definida pela equação: f(t) = 1 - sen(t)

1º Gráfico Modo cartesiano

2º Gráfico Modo polar

Page 81: Mini-Curso: gnuplot

Exemplo 2 – Gráfico Polar● Curva definida pela equação: f(t)=exp(cos(t))-2cos(4t) + [sen(t/12)]**5

● Estilo de uma Borboleta

set samples n: Aumenta a malha gráfica. Teste com estilo impulses

Page 82: Mini-Curso: gnuplot

Recursos AdicionaisNesta seção são apresentados mais alguns complementos do

comando set, em ordem alfabética.

● angles usado para alterar o modo de operação do programa, que pode ser degrees (graus) ou radians (radianos). O padrão é o radians.

Page 83: Mini-Curso: gnuplot

Recursos Adicionais● format usado para formatar os rótulos dos dados nos eixos cartesianos.

Exemplos: set format x “%.2f”; set format y “%.3f”

Page 84: Mini-Curso: gnuplot

Recursos Adicionais● style functions usado para alterar o modo padrão de desenho dos

gráficos. O modo padrão é lines.

Page 85: Mini-Curso: gnuplot

Bibliografia● JANERT, P. K. Gnuplot in Action: Understanding Data with Graphs.

Greenwich: Manning Publications Co., 2010

● WILLIAMS, T.; KELLEY, K. Gnuplot 4.6: An Interactive Plotting Program.

Disponível em: <http://www.gnuplot.info/docs_4.6/gnuplot.pdf>.

● MANZANO, J. A. N. G. Gnuplot: guia de introdução e aplicação, 1º ed. São

Paulo: Érica, 2013.

● GALO, M. Introdução ao uso do aplicativo Gnuplot. Disponível em: <

http://www2.fct.unesp.br/docentes/carto/galo/web/gnuplot/fct.htm>. UNESP –

Universidade Estadual Paulista, Presidente Prudente.

● VIANA, P. A. Introdução ao aplicativo gnuplot. UFPA – Universidade Federal

do Pará. Faculdade de Matemática.

● Rodrigues, B. A.; Sodré, U. Gnuplot: Ajustes de Curvas. Londrina-PR.

Page 86: Mini-Curso: gnuplot

Obrigado!

Presença e Participação

de Todos