Gostaria de ajudar?

segunda-feira, 24 de agosto de 2015

GrADS Preenchimento

Olá a todos,

Para usuário do GrADS-2.1 é possível plotar um gráfico em que um determinado intervalo de dados pode ser destacado (hachurado) e isto se tornou possível graças a biblioteca gráfica chamada de Cairo.

A utilização desta biblioteca está bem documentada em alguns sites na internet, mas a pedidos segue um dica simples de como utilizar o comando 'set tile' para destacar um determinado intervalo dos dados. Isto pode ser útil para quem deseja destacar os dados estatisticamente significativo.

A ideia do comando "tile" é desenhar pequenas imagens para cobrir uma determinada área. O GrADS na versão 2.1 suporta a utilização do comando "tile" automaticamente, versões anteriores não possuem suporte.

Segue a descrição do comando:

'set tile nu tipo largura altura llargura fcor bcor'

onde:

nu é o número do tile que pode variar de 0 até 2000;

tipo é o tipo do tile que você quer utilizar; pode variar de 0 a 8 e ao escolher o 0 significa que você irá utilizar um arquivo com os tile (externo);

1 - sólido ;
2 - pontos ;
3 - linhas diagonais esquerda \\\\\\ ;
4 - linhas diagonais direita ////// ;
5 - linhas diagonais esquerda sobrepostas diagonais direita;
6 - linhas verticais ;
7 - linhas horizontais ;
8 - linhas horizontais sobrepostas as linhas verticais.

largura é a largura do "tile" gerada em pixels. O padrão é 9.
altura é a altura do "tile" gerada em pixels. O padrão é 9.
llargura é a espessura da linha utilizada para desenhar a linha especificada na imagem.
fcor é a cor usada para desenhar a linha
bcor é a cor do fundo utilizada para encher o fundo da imagem.

Para os "tile" gerados, uma pequena imagem é criada usando a largura e altura especificada, e, em seguida, ou é preenchido com uma cor sólida, ou é preenchido com a cor de fundo e, em seguida, uma ou duas linhas são desenhadas na imagem usando a cor do primeiro plano e a espessura da linha especificada. Note que as linhas são desenhadas de canto a canto (para linhas diagonais) ou no centro da imagem (diagonal / ou diagonal \ ). Assim, o tamanho da imagem, controlado pelos comando de largura e altura, vai controlar o espaçamento das linhas para o padrão final, e a relação de aspecto da imagem vai controlar o ângulo das linhas. Uma imagem pequena resultará em linhas espaçadas de forma mais estreita no padrão final, e uma imagem maior irá resultar num padrão mais espaçados.

Note que a espessura padrão é 3, a cor de primeiro plano padrão é o número de cores 1, e a cor de fundo padrão é um preto totalmente transparente (vermelho=0, verde=0, azul=0, alfa=0).

O "tile" será descrito como uma combinação do comando 'set tile' e 'set rgb' para definir as cores do primeiro plano e do fundo. Eles podem ser definidos em qualquer ordem, mas deve ser definido antes de qualquer desenho (display) feito na página atual.

Para utilizar um padrão de cores (rgb) ao "tile" que foi criado o comando é o seguinte:

'set rgb cc tile nu'

onde:

cc é o número do RGB criado;
nu é o número do tile.

Ao utilizar um padrão de cores a um "tile" criado não poderá ser utilizado a outro "tile".

Exemplo de utilização:

'reinit'
'sdfopen uwnd.mon.mean.nc'
'set display color white';'c'
'set grads off';'set grid off'

i = 60
n = 60
cmd = 'set rbcols'
while (i<256) 
  'set rgb 'n' 'i' 'i' 'i
  cmd = cmd%' '%n
  i = i + 15
  n = n + 1
endwhile
cmd

* definindo duas cores
'set rgb 20 255 0 0'
'set rgb 21 0 0 255'

* definindo dois "tile"
'set tile 0 2 6 6 3 20'
'set tile 1 2 6 6 3 21'
'set rgb 22 tile 0'
'set rgb 23 tile 1'

'set gxout shaded'
'd uwnd'

* Desenhando pontilhados azuis e vermelhos para valores de vento superiores a 5 e inferiores a 5.
'set clevs 5'
'set ccols -1 22'
'd uwnd'
'set clevs -5'
'set ccols 23 -1'
'd uwnd'



Exemplo e:

'reinit'
'sdfopen uwnd.mon.mean.nc'
'set display color white';'c'
'set grads off';'set grid off'
'set tile 20 8 5 5 2 0'
'set rgb 30 tile 20'
'set gxout shaded'
'd uwnd'
'cbar'
'set clevs 5'
'set ccols -1 30'
'd uwnd'
'set clevs -5'
'set ccols 30 -1'
'd uwnd'


Abaixo segue um exemplo que mostra uma série de padrões diferentes. As especificações do comando 'tile' que foi usado para criar o padrão é mostrado em cada quadrado (sem os valores de cor). As definições de cor não são mostradas. Os comandos usados para desenhar o último quadrado são mostrados abaixo. Os comandos utilizados para os outros quadrados são semelhantes.

'set rgb 36 255 255 0'
'set rgb 40 255 0 255'
'set tile 21 2 9 9 3 40 36 '
'set rgb 31 tile 21'
'set line 31'
'draw recf 7 1 9 3 '
'draw string 8 0.8 set tile 21 2 9 9 3'



Boa Sorte e Bom Trabalho a Todos!