Gnuplot
gnuplot | |
---|---|
![]() Renderização 3D de um elipsóide feito pelo gnuplot | |
Lançamento | ? |
Sistema operacional | multiplataforma |
Licença | licença própria |
Página oficial | http://www.gnuplot.info/ |
gnuplot é um programa de linha de comando que pode plotar os gráficos de funções matemáticas em duas ou três dimensões, e outros conjuntos de dados. O programa pode ser executado na grande maioria dos computadores e sistemas operacionais (Linux, UNIX, Windows, Mac OS X…). Ele é um programa com uma longa história, datando de antes de 1986. Este software não é distribuido sob a licença GPL.
gnuplot pode gerar saídas diretamente na tela, ou em muitos formatos de arquivos gráficos, incluindo PNG, EPS, SVG, JPEG e muitos outros. Ele também é capaz de produzir código LaTeX que possa ser incluído diretamente nos documentos LaTeX, fazendo uso de fontes LaTeX e poderosas habilidades com fórmulas. O programa pode ser usado tanto interativamente quanto através de scripts em lote (batch mode). Para um script de exemplo e sua saída, veja esta espiral logarítmica. O programa é bem suportado e documentado. Ajuda extensiva pode ser encontrada na internet
O gnuplot é o programa gerador de gráficos do GNU Octave, Maxima e gretl, e pode ser usado a partir de várias linguagens de scripts, incluindo Perl (via CPAN), Python (via Gnuplot-py e SAGE), Ruby (via rgnuplot) e Smalltalk (Squeak e GNU Smalltalk). Este programa é desenvolvido em C.
Licença
Apesar do nome, o gnuplot não é parte nem relacionado ao sistema GNU (por isso a escolha por utilizar letra 'g' minúscula) e ele não é distribuído sob a GLP. No entanto, alguns pacotes GNU utilizam gnuplot.
O título deste programa foi originalmente escolhido para evitar conflitos com um programa chamado "newplot", e foi originalmente um compromisse entre "llamaplot" e "nplot"[1]
O programa é distribuído sob uma licença que permite apenas copiar e modificar o código fonte. No entanto, versões modificadas só podem ser distribuídas como arquivos Patch.
Exemplos de código
O gnuplot pode ser usado para exibir gráficos de funções matemáticas. Um exemplo simples é o gráfico da função seno. O comando
plot sin(x)
resulta no gráfico abaixo:
![Gráfico da função seno.](http://upload.wikimedia.org/wikipedia/commons/thumb/f/fc/Gr%C3%A1fico_da_fun%C3%A7%C3%A3o_seno.svg/400px-Gr%C3%A1fico_da_fun%C3%A7%C3%A3o_seno.svg.png)
Outro exemplo simples é o gráfico da função gaussiana. No gnuplot ela pode ser ser definida como:
f(x,a,b,c) =a*exp(-(x - b)**2/(2*c**2))
cujo gráfico para , e é criado usando o comando
plot f(x,1,0,1)
que resulta no gráfico abaixo:
![Gráfico da função gaussiana para a = 1, b = 0 e c = 1.](http://upload.wikimedia.org/wikipedia/commons/thumb/a/a6/Gr%C3%A1fico_da_fun%C3%A7%C3%A3o_gaussiana.svg/400px-Gr%C3%A1fico_da_fun%C3%A7%C3%A3o_gaussiana.svg.png)
Estilos de gráficos
O gnuplot suporta vários estilos de exibição de dados e funções: pontos, linhas, barras, círculos, vetores, strings, etc.. Alguns exemplos são mostrado abaixo:
Exemplo completo
Suponha que você tem um arquivo de texto chamado arquivo_dados.txt
com o seguinte conteúdo:
#Grupos Param1 Erros1 Param2 Erros2 Param3 Erros3 Param4 Erros4 Grupo 1 1.0 0.1 2.0 0.2 3.0 0.3 4.0 0.4 Grupo 2 2.0 0.1 3.0 0.2 4.0 0.3 5.0 0.4 Grupo 3 3.0 0.1 4.0 0.2 5.0 0.3 6.0 0.4 Grupo 4 4.0 0.1 5.0 0.2 6.0 0.3 7.0 0.4 Grupo 5 5.0 0.1 6.0 0.2 7.0 0.3 8.0 0.4
O arquivo contem dados de cinco grupos (Grupo 1
a Grupo 5
) de quatro parâmetros (Param1
a Param4
) além dos erros associados (Erros1
a Erros4
). Para criar um gráfico com esses dados podemos usar o código abaixo:
reset set encoding utf8 set terminal svg size 640,480 background rgb 'white' font ',12' set output 'Histograma_com_barras_de_erros.svg' set key left Left reverse set tics out nomirror set datafile separator tab set style line 1 lc rgb '#006837' set style line 2 lc rgb '#31a354' set style line 3 lc rgb '#78c679' set style line 4 lc rgb '#c2e699' set style line 5 lc rgb '#ffffcc' set xrange [-0.6:4.6] set yrange [0:10] set title '{/=18:Bold Histograma com barras de erros}' set style data histograms set style histogram errorbars gap 1 linewidth 1 set style fill transparent solid 1 border lt -1 plot \ newhistogram ,\ 'arquivo_dados.txt' using 2:3:xtic(1) linestyle 1 title 'Parâmetro 1' ,\ 'arquivo_dados.txt' using 4:5:xtic(1) linestyle 2 title 'Parâmetro 2' ,\ 'arquivo_dados.txt' using 6:7:xtic(1) linestyle 3 title 'Parâmetro 3' ,\ 'arquivo_dados.txt' using 8:9:xtic(1) linestyle 4 title 'Parâmetro 4'
que produz
![](http://upload.wikimedia.org/wikipedia/commons/thumb/f/f0/Histograma_barras_de_erros_gnuplot.svg/640px-Histograma_barras_de_erros_gnuplot.svg.png)
Ver também
- en:Wikipedia:How to create graphs for Wikipedia articles
- Análise de dados
Referências
- ↑ Perguntas frequentes sobre o gnuplot FAQ
Ligações externas
![](http://upload.wikimedia.org/wikipedia/commons/thumb/4/4a/Commons-logo.svg/22px-Commons-logo.svg.png)
- gnuplot Central contém links para a FAQ e para locais de download
- Plotagens demonstrativas em gnuplot
- Gnuplot in Action O livro sobre gnuplot: tutorial, melhores práticas, usos avançados, comandos e option reference.
- Using gnuplot to display data in your Web pages — IBM tutorial
- Dicas Gnuplot — referências de comandos de mouse
- P. Mikulik’s tutorial
- Gnuplotting.org — site com vários exemplos