Assine a Lista Dicas-L
Receba diariamente por email as dicas
de informática publicadas neste site
Para se descadastrar, clique aqui.
Usando gnuplot para gerar bons gráficos
Colaboração: João Paulo de Souza Medeiros
Data de Publicação: 08 de Junho de 2006
O gnuplot é um software que facilita a criação de graficos 2D e 3D para ambientes UNIX, IBM OS/2, MS Windows, DOS, Macintosh, VMS, Atari. Vamos ver aqui alguns comandos básicos de utilização, e algumas opções que podem incrementar mais resultado final do gráfico.
Iniciando o gnuplot:
$ gnuplot Terminal type set to 'x11' gnuplot>
Para terminar a execução do gnuplot presionasse Ctrl+D.
Plotando funções
Usa-se o comando plot para plotar funções 2D. No gnuplot existem as
variáveis próprias de cada espaço, no caso 2D usamos a variável x para
coordenadas retangulares e t para coordenadas polares.
gnuplot> plot sin(x)
Também é possível imprimir mais de uma função separando-as por vírgula.
gnuplot> plot sin(x), log(x), cos(x), x**2
Podemos também setar o título da função dentre outros parametros:
gnuplot> plot sin(x) title 'Senóide'
Alterar os limites do gráfico:
gnuplot> set xrange [0:10] gnuplot> set yrange [-2:2] gnuplot> plot sin(x) title 'Senóide', cos(x) title 'Cossenóide' gnuplot> replot
Para utilizar coordenadas polares usa-se o comando set polar. Para espaços
3D utiliza-se a função splot no lugar de plot.
Plotando dados de um arquivo
Antes de mostrar como carregar os dados de um arquivo, vamos criar esse arquivo.
$ cat > dados.dat << EOF > 0.0 0.0 0.0 > 0.1 1.5 2.0 > 0.2 1.2 2.2 > 0.3 1.9 2.1 > 0.5 0.5 0.9 > EOF $ gnuplot
Carreando os dados do arquivo e imprimindo:
gnuplot> plot 'dados.dat'
Note que foram plotados os pontos (x,y), onde x é a primeira coluna do arquivo, e y a segunda. Podemos selecionar as colunas que desejamos usar:
gnuplot> plot 'dados.dat' using 1:3 title 'Pontos'
Agora foram foram utilizadas as colunas 1 e 3 (x,y). Podemos ainda interpolar
linearmente esses pontos utilizando a opção with lines.
gnuplot> plot 'dados.dat' using 1:2 title 'Coluna 2' with lines, \ > plot 'dados.dat' using 1:3 title 'Coluna 3' with lines
Usar interpolação é muito útil quando pretende-se analizar valores intermediários dentre os pontos que se possui nos dados.
Últimas dicas
Utilizando os botões do mouse pode-se dar zoom e marcar pontos para obter a
coordenada no local. Uma outra boa opção é usar grades no gráfico, para isso
bastar usar a opção set grid. Pode-se ainda salvar a seqüência de comandos
em um arquivo:
gnuplot> save 'exemplo'
E carregar arquivos.
gnuplot> load 'exemplo'
E é claro, podemos salvar o gráfico em uma imagem. O gnuplot oferece uma vasta gama de formatos de saída para imagens. No caso, vamos salvar o gráfico no formato png:
gnuplot> set terminal png gnuplot> set output 'imagem.png' gnuplot> replot
A imagem só será gerada após o comando replot.
Conclusão
Bom pessoal, vimos aqui como é simples e rápido gerar bons gráficos com o gnuplot. Mas esse texto é apenas um material básico, existem muitas outras funções que a presente ferramenta oferece. Para se aprofundar mais navegue pelos links abaixo.
http://www.gnuplot.info/ e http://www.cs.uni.edu/Help/gnuplot/
Referências Adicionais
Referências adicionais sobre os assuntos abordados neste site podem ser encontradas em nossa Bibliografia.
Avalie esta dica
Opinião dos Leitores
20 Nov 2011, 06:32
O link http://www.cs.uni.edu/Help/gnuplot/ não está mais funcionando.
22 Ago 2011, 16:07
gnuplot> plot 'dados.dat' using 1:2 title 'Coluna 2' with lines, \
> plot 'dados.dat' using 1:3 title 'Coluna 3' with lines
Mas acho que está errado, pelo menos quando eu tentava denunciava um erro assim:
undefined variable: plot
Aí eu tirei esse segundo plot e funcionou, o certo então pelo que entendi seria assim:
gnuplot> plot "./graphtest4" using 1:2 title 'Cache Hits' with lines, \
> "./graphtest4" using 1:3 title 'Cache Miss' with lines
De toda forma agradeço o tutorial que está bem resumido
22 Mai 2011, 23:35




