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 é umprograma delinha de comando que pode plotar os gráficos defunções matemáticas em duas ou três dimensões, e outros conjuntos de dados. O programa pode ser executado na grande maioria doscomputadores esistemas operacionais (Linux,UNIX,Windows,Mac OS X…). Ele é um programa com uma longa história, datando de antes de1986. Este software não é distribuido sob a licençaGPL.
gnuplot pode gerar saídas diretamente na tela, ou em muitos formatos de arquivos gráficos, incluindoPNG,EPS,SVG,JPEG e muitos outros. Ele também é capaz de produzir códigoLaTeX 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 descripts em lote (batch mode). Para umscript de exemplo e sua saída, vejaesta espiral logarítmica. O programa é bem suportado e documentado. Ajuda extensiva pode ser encontrada nainternet
O gnuplot é o programa gerador de gráficos doGNU Octave,Maxima egretl, e pode ser usado a partir de várias linguagens descripts, incluindoPerl (viaCPAN),Python (viaGnuplot-py eSAGE),Ruby (viargnuplot) eSmalltalk (Squeak eGNU Smalltalk). Este programa é desenvolvido emC.
Apesar do nome, o gnuplot não é parte nem relacionado ao sistemaGNU (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 umcompromisse entre "llamaplot" e "nplot"[1]
O programa é distribuído sob uma licença que permite apenas copiar e modificar ocódigo fonte. No entanto, versões modificadas só podem ser distribuídas como arquivosPatch.
O gnuplot pode ser usado para exibir gráficos de funções matemáticas. Um exemplo simples é o gráfico dafunção seno. O comando
plotsin(x)
resulta no gráfico abaixo:
Outro exemplo simples é o gráfico dafunçã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
plotf(x,1,0,1)
que resulta no gráfico abaixo:
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:
Suponha que você tem umarquivo de texto chamadoarquivo_dados.txt
com o seguinte conteúdo:
#GruposParam1 Erros1Param2 Erros2Param3 Erros3Param4 Erros4Grupo 11.00.12.00.23.00.34.00.4Grupo 22.00.13.00.24.00.35.00.4Grupo 33.00.14.00.25.00.36.00.4Grupo 44.00.15.00.26.00.37.00.4Grupo 55.00.16.00.27.00.38.00.4
O arquivo contem dados de cinco grupos (Grupo 1
aGrupo 5
) de quatro parâmetros (Param1
aParam4
) além dos erros associados (Erros1
aErros4
). Para criar um gráfico com esses dados podemos usar o código abaixo:
resetsetencodingutf8setterminalsvgsize640,480backgroundrgb'white'font',12'setoutput'Histograma_com_barras_de_erros.svg'setkeyleftLeftreversesetticsoutnomirrorsetdatafileseparatortabsetstyleline1lcrgb'#006837'setstyleline2lcrgb'#31a354'setstyleline3lcrgb'#78c679'setstyleline4lcrgb'#c2e699'setstyleline5lcrgb'#ffffcc'setxrange[-0.6:4.6]setyrange[0:10]settitle'{/=18:Bold Histograma com barras de erros}'setstyledatahistogramssetstylehistogramerrorbarsgap1linewidth1setstylefilltransparentsolid1borderlt-1plot\newhistogram,\'arquivo_dados.txt'using2:3:xtic(1)linestyle1title'Parâmetro 1',\'arquivo_dados.txt'using4:5:xtic(1)linestyle2title'Parâmetro 2',\'arquivo_dados.txt'using6:7:xtic(1)linestyle3title'Parâmetro 3',\'arquivo_dados.txt'using8:9:xtic(1)linestyle4title'Parâmetro 4'
que produz