Modelo de gráfico em Gnuplot

De Física Computacional
Ir para navegação Ir para pesquisar

Esta seção é dedicada à elaboração de um padrão para os gráficos produzidos em Gnuplot e "impressos" em formato EPS. Uma série de parâmetros podem ser ajustados, optimizado a aparência e a legibilidade do gráfico. Atenção entretanto: o gráfico mostrado na janela do Gnuplot geralmente não corresponde exatamente à sua versão impressa em EPS! Veremos ocorrências disso mais adiante.


linetype, linewidth & set size x,y

Usaremos como exemplo as funções , , , . Um plot das quatro funções no mesmo gráfico é obtido com:

set size 1,1
set grid
set yrange [-2:2]

plot    cos(x) w l lt 1 lw 5 t "This is line type 1, thickness 5"
replot  sin(x) w l lt 2 lw 4 t "This is line type 2, thickness 4"
replot -cos(x) w l lt 3 lw 3 t "This is line type 3, thickness 3"
replot -sin(x) w l lt 4 lw 2 t "This is line type 4, thickness 2"

Repare que:

w l = with lines

lt = linetype

lw = linewidth

set size 1,1 = tamanho do gráfico em relação à "caixa original"

O gráfico gerado com isso é o seguinte:

<gnuplot> set size 1,1 set grid set yrange [-2:2] plot cos(x) w l lt 1 lw 5 t "This is line type 1, thickness 5", sin(x) w l lt 2 lw 4 t "This is line type 2, thickness 4", -cos(x) w l lt 3 lw 3 t "This is line type 3, thickness 3", -sin(x) w l lt 4 lw 2 t "This is line type 4, thickness 2" </gnuplot>

Vemos que linetype modifica a cor das curvas em questão, e que linewidth mexe com a espessura das curvas. Vejamos o que acontece se alterarmos set size 1,1 para set size .75,.5 :

<gnuplot> set size .75,.5 set grid set yrange [-2:2] plot cos(x) w l lt 1 lw 5 t "This is line type 1, thickness 5", sin(x) w l lt 2 lw 4 t "This is line type 2, thickness 4", -cos(x) w l lt 3 lw 3 t "This is line type 3, thickness 3", -sin(x) w l lt 4 lw 2 t "This is line type 4, thickness 2" </gnuplot>

Vemos que o a largura do gráfico diminuiu a 3/4 da unidade, e que a sua altura é agora 1/2 do tamanho original. Alterar esse parâmetro é um truque bastante útil quando se quer que o tamanho da fonte na legenda pareça maior em relação ao gráfico como um todo, sem ter que mexer diretamente no tamanho da fonte. Se fizermos set size 2,2, certamente a fonte da legenda vai parecer muito pequena em relação ao todo! É o que vemos abaixo:

<gnuplot> set size 2,2 set grid set yrange [-2:2] plot cos(x) w l lt 1 lw 5 t "This is line type 1, thickness 5", sin(x) w l lt 2 lw 4 t "This is line type 2, thickness 4", -cos(x) w l lt 3 lw 3 t "This is line type 3, thickness 3", -sin(x) w l lt 4 lw 2 t "This is line type 4, thickness 2" </gnuplot>

Imprimindo em EPS

O terminal Postscript do Gnuplot permite imprimir gráficos que contenham os detalhes que vemos nos gráficos acima, como diferença de cor e de espessura das curvas. Na verdade, o terminal PNG também permite visualizar essas características: de fato, os gráficos Gnuplot que são mostrados na Wikipédia são imagens PNG criadas com esse terminal. Entretanto, o terminal PNG perde uma informação importante nas curvas do gráfico: a estrutura da curva, ou seja, curva cheia, pontilhada, tracejada etc. O terminal Postscript permite caracterizar as curvas também pela sua estrutura. Para tanto, acessamos o terminal Postscript com as opções:

set terminal postscript enhanced dash color

Com isso, criamos gráficos que são "imunes" à impressões em branco e preto, no sentido de que se um periódico for totalmente impresso em branco e preto, sempre será possível identificar curvas diferentes nos gráficos pela sua estrutura, já que a informação da cor foi perdida. É claro que se o periódico for impresso a cores, ganhamos também a informação da cor para diferenciarmos as curvas além da estrutura.

Abaixo, temos um "screenshot" de uma imagem impressa em EPS com as opções enunciadas acima para o terminal Postscript. As demais características do gráfico são:

set size .5,.5
set grid
set yrange [-1.5:2]

plot      cos(x)                 w l lt 1 lw 1 t "wave 1"
replot .4*cos(x+2.5)             w l lt 2 lw 1 t "wave 2"
replot    cos(x) + .4*cos(x+2.5) w l lt 3 lw 4 t "wave 1 + wave 2"

Repare no tamanho da fonte, que ficou maior já que diminuímos a caixa do gráfico (o retângulo tracejado) com set size .5,.5.


Modelo para artigo

Após seleção de figuras o ganhador é este:

Arquivo:Modelo paper.png

Ainda temos que modificar:

  1. Tirar Titulo (f=0.5)
  2. Eixo X a cada 0.2
  3. Legenda: wealth(0) = 0-10% (por exemplo)
  4. Tirar grade

Atualização do gráfico:

Arquivo:Gaspar Test graph01.png


È possível fazer upload de imagens em EPS? --Gaspar

Agora sim, ai vai um exemplo --Sebas 17:22, 29 Maio 2007 (BRT)

Arquivo:Modelo paper.eps

Porem, sempre ha, não vai diretamente para a figura. Não sei porque. Mas, pelo menos podemos carregar eps.

Novo gráfico em png: f=0.10, 10k passos

O original foi feito com set size = 0.5, 0.5 Há todo um espaço em branco por fora que não consigo remover via algum método automático. Abaixo, o link para o original em EPS:

Arquivo:Gaspar 06-MIN-10k-f10-risk2d.eps

Note como as barras "colapsaram" para um mesmo valor após tempo o suficiente.