Gnuplot: ferramenta para criação de gráficos

Em: junho 12, 2017 | Categoria: Desktop

Embora receba em seu nome o termo GNU, essa ferramenta não possui uma licença ligada a GPL e muito menos possui relação com o projeto GNU. O gnuplot trata-se de uma freeware, ou seja, você não precisa pagar para utilizá-lo mas também não possui permissão para modificar o seu código fonte1.

O gnuplot é uma ferramenta multiplataforma de linha de comando para criação de gráficos. Foi criado para auxiliar estudantes e cientistas a visualizar de forma interativa dados e funções matemáticas. Outras aplicações como o Octave2, por exemplo, utiliza o gnuplot como engine para plotar gráficos.

Ele dá suporte a plotagem de gráficos 2D, 3D e gif, e scripts podem ser utilizados. Scripts? Sim, scripts. O legal de trabalhar com essa ferramenta por linha de comando é a possibilidade de plotar gráficos tanto de forma interativa quanto por meio de scripts. E é isso o que veremos neste post.

 

Instalação do gnuplot

O download do gnuplot pode ser realizado em seu repositório no sourceforget (repositório gnuplot). Em sistemas Linux é comum que o gnuplot esteja em seus repositórios. Então, para instalá-lo basta seguir um dos seguintes comandos:

Para dpkg (exemplo: Debian):
$ sudo apt-get install gnuplot

Para rpm (exemplo: Fedora):
$ sudo dnf install gnuplot

 

Executando o gnuplot

Após a instalação, no terminal, podemos executar o gnuplot da seguinte maneira: $ gnuplot. Na forma interativa podemos inserir alguns comandos e o gráfico só será plotado ao inserir o comando plot.

gnuplot interativo

Uma outra forma de utilizá-lo é através de scripts com extensão .plt e que segue o seguinte formato de execução $ gnuplot arquivo.plt.

 

 

Exemplos Práticos

Aqui é apresentado três exemplos de utilização do gnuplot. Não é a intenção decifrar linha por linha dos escripts, mas sim, dar noção de funcionamento da ferramenta e plotagem dos gráficos. O primeiro exemplo irá abordar o uso do gnuplot via linha de comando e os dois últimos via scripts.

Gráfico da função seno

Esse primeiro exemplo é algo bem básico, apenas para familiarização, que podemos trabalhar direto no terminal. Acessando o gnuplot realizamos a plotagem da função seno que abrirá uma janela apresentando o gráfico dessa função. Logo após, temos a inserção de dois comandos responsáveis por setar os intervalos em valores para os eixos x e y. Para que essas alterações possam ser visualizadas faz-se necessário um replot.

Através da janela do gnuplot existe a possibilidade de salvar o gráfico em formato PDF, SVG e imagem. O resultado:

Resultado gnuplot

Utilizando dados de arquivo

Neste exemplo trabalhamos com dados de um arquivo externo, que foi denominado de dados.txt, e o seu conteúdo é mostrado a seguir:

As colunas representam os eixos cartesianos x e y, respectivamente. O script para a construção do gráfico foi denominado de dados.plt, onde a fonte escolhida para o gráfico foi Verdana em negrito de tamanho 9. Diferente do exemplo anterior, este salva o gráfico em imagem com o nome de dados.png e possui um enconding que pode ser necessário para mostrar palavras acentuadas e o “ç”. Nele também foi configurado para que os valores do eixo x sejam mostrados de 100 em 100 e os do eixo y de 10 em 10. Por fim, é inserido o arquivo que possui os dados a serem apresentados graficamente, assim como o nome da linha e a sua cor.

O resultado:

dados.png

Utilizando dados de mais de um arquivo

Aqui o arquivo dados.txt foi dividido em outros dois, onde um possui somente a primeira coluna e outro somente a segunda coluna. O script anterior também foi alterado setando intervalos para os eixos cartesianos iniciando-os pelo valor zero. E a legenda do gráfico recebeu estilo de box e espaçamento. Observe que os arquivos foram inseridos dentro do mesmo plot.

O resultado:

dados2.png

 

Mais informações

Para maiores informações acerca de software é sempre importante verificar a sua man page, no caso: $ man gnuplot

E, logicamente, a documentação (gnuplot.pdf) presente no seu site oficial, onde além da documentação consta alguns exemplos (demo gnuplot) para testes e aprendizagem.

Para quem prefere livros, duas recomendações são feitas pelo site oficial do gnuplot. São eles: Phillips, L. gnuplot Cookbook.Packt Publishing, 2012; Janert, P. K. Gnuplot in Action – Understanding Data with Graphs. Manning Publications, 2ª Ed., 20163.

 

Finalizando…

Aqui tratamos de forma breve sobre uma ferramenta desenvolvida para o meio acadêmico, mas que sem dúvidas pode ser utilizada em outros contextos. Como apresentado, a sua instalação é simples e a sua aprendizagem pode demadar algum tempo dependendo dos estilos que você deseja aplicar em seus gráficos.

E aí? Você já conhecia o Gnuplot? Já o utilizou? Conhece alguma outra ferramenta alternativa? Pois conte para gente a sua experiência e/ou opinião nos comentários. O seu feedback é sempre bem-vindo.

 

Referências

1 http://www.gnuplot.info/faq/faq.html#x1-120001.7
2 https://www.gnu.org/software/octave/
3 http://gnuplot.info/books.html