Scripts em Gnuplot

créditos: gnuplotting.org
gnuplotting.org

Scripts são interessantes na hora de plotar dados não só por serem reaproveitáveis em diversos projetos mas também pela personalização e embelezamento dos gráficos para melhor entendimento. Nesse texto vamos analisar algumas possíveis opções de estilo para um script de Gnuplot. Opções mais avançadas podem ser vistas na página Gnuplotting. Paletas de cores estão disponíveis no git gnuplot-palettes e outros snippets configurados podem ser encontrados no git gnuplot-configs.


Um dos scripts mais básicos que se pode ter para criar uma saída .ps é o seguinte:

set terminal postscript eps enhanced color
set output 'dados.ps'
plot 'dados.dat'

Vamos analisar e entender um script-exemplo um pouco mais complexo, passo a passo. Para executá-lo baixe os seguintes arquivos e rode no seu computador utilizando o comando

> gnuplot exemplo.plt

exemplo.plt
exemplo.dat


exemplo.plt linha-a-linha:

set terminal postscript eps enhanced color font 'Arial, 20' rounded lw 2

Nessas linhas o usuário escolheu saída postscript encapsulada (eps), melhorado (enhanced) e colorido (color), com fonte personalizada (font ‘Arial, 20’ rounded) e linha mais grossa (lw 2). (extra: outras opções de terminais de saída)

set key inside right bottom vertical Right

Agora determinou-se que a legenda do gráfico deve estar dentro da margem (inside), à direita (right) inferior (bottom), com listagem vertical (vertical) e alinhado à direita (Right). (extra: vários posicionamentos de legenda)

set border linewidth 1.5

A borda do gráfico teve sua largura aumentada para 1.5x a largura de linha padrão do gráfico. (extra: configurações de borda)

set style line 1 lt 1 lc rgb "#cb6464" lw 3
set style line 2 lt 1 lc rgb "gray50" lw 3

O usuário criou dois estilos personalizados de linha com tipo 1 (lt 1), cores distintas (lc rgb “#cb6464” ou lc rgb “gray50”) e largura de linha 3 (lw 3). (extra: tipos de linha / mais tipos de linha / plotando dados com linespoints de maneira mais bonita / documentação para criar estilos de linha personalizados)

set autoscale
set format y "%1.1t*10^{%T}"
set xtics (0.5, 1.0, 2.0, 3.0, 4.0)

Pede-se escala automática para ambos os eixos (set autoscale). A formatação dos tics no eixo y é especificada como mantissas e potências de base 10, enquanto no eixo x os tics do gráfico são fixados em (0.5, 1.0, 2.0, 3.0, 4.0). (extra: especificando formatos / símbolos e formatos para postscript)

set xlabel "Simbolo {/Symbol a} no Eixo X"
set ylabel "Eixo Y"

Muda-se a descrição dos eixos x e y com a inserção de símbolos. (extra: mais uma lista de símbolos)

set output 'exemplo.ps'

Descreve o arquivo de saída.

plot 'exemplo.dat' using 1:3 w lp title "Legenda 1" ls 1, 'exemplo.dat' using 1:4 w p title "Legenda 2" ls 2

Plota o mesmo arquivo utilizando colunas diferentes (1 e 3 ou 1 e 4, using 1:3 e using 1:4), usando linhas e pontos (w lp) e apenas pontos (w p ), legenda específica (title) e estilo de linha como personalizado acima (ls 1).

A saída desse script é o gráfico abaixo (convertido para png para visualização):

g4165


Referências de Gnuplot:

★ Gnuplot homepage [link]
★ Official Gnuplot documentation [link]
Apresentação do Gerson sobre Gnuplot
★ Demo scripts for Gnuplot 4.6 [link]
★ Demo scripts for Gnuplot 5 [link]
★ Gnuplotting (pretty Gnuplot scripts) [link]