different plot sizes

From: Mateus da Silva Teixeira <mtex2k3_at_nyahnyahspammersnyahnyah>
Date: Sat, 23 Sep 2006 15:08:44 -0300

Dear NCL users,

I'm trying to plot two fields in one figure: a contour plot and a vector
plot, but the panel of the vector plot appears with greater size.
Apparently all map attributes of the two plots are the same.
Could you help me?

Please, find attached my ncl scrypt and gif files.

Thanks.

Mateus

load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/shea_util.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl"

begin
    ; carregando arquivo
    f=addfile("VariaveisPressao_1967MAR15-25.grib","r")

    ; carregando coordenadas de tempo e espaço
    tempo=f->initial_time0_encoded
    datas=f->initial_time0

    ; carregando dados
    u=f->U_GDS0_ISBL
    v=f->V_GDS0_ISBL

    data=1967031718 ; data = 17 / 03 / 1967 18:00

    do n=1,43
       if(data .eq. tempo(n))
         indice=n
         dtitulo=getSubString(datas(indice),0,9)
       end if
    end do

    plot = new(2,graphic) ; variável q conterá dois gráficos

    xwks = gsn_open_wks("ps","mapa") ; abre uma workstation

    res = True
;---------- ASPECTOS GERAIS DOS CAMPOS -----------------------
      res_at_gsnScale = True ; força eixos X-Y serem do mesmo tamanho
    
      ; Atributos dos contornos
      res_at_cnInfoLabelOn = False ; desliga info intervalo contornos
      res_at_sfXCStartV = min(u&g0_lon_3) ;
      res_at_sfXCEndV = max(u&g0_lon_3) ; -> sem isso os campos não são plotados
      res_at_sfYCStartV = min(u&g0_lat_2) ; (contornos)
      res_at_sfYCEndV = max(u&g0_lat_2) ;
      res_at_cnLevelSelectionMode = "ManualLevels" ; habilita escolha manual
      res_at_cnLineLabelPlacementMode = "Constant"

      ; Atributos do mapa
      res_at_mpOutlineBoundarySets = "National" ; Desenha divisoes politicas
      res_at_pmTickMarkDisplayMode = "Always" ; Coloca info lat & lon
      res_at_mpLimitMode = "LatLon" ; Limita o mapa.
      res_at_mpMinLonF = 270 ; Dimensoes
      res_at_mpMaxLonF = 330 ; maximas e minimas
      res_at_mpMinLatF = -55 ; de lat/lon
      res_at_mpMaxLatF = 15 ; do mapa
      res_at_mpPerimOn = True

      res_at_gsnDraw = False ; não desenha o gráfico imediatamente
      res_at_gsnFrame = False ; não avança quadro, para desenhar os dois campos juntos

;---------- DETALHES DO PRIMEIRO CAMPO --------------------
      res_at_tiMainString = ":F25:Vento Zonal 200 hPa" ; titulo 1
      res_at_tiXAxisString = ":F25:longitude" ; titulo do eixo x
      res_at_tiYAxisString = ":F25:latitude" ; titulo do eixo y
      res_at_cnLevelSpacingF = 5 ; espaçamento entre contornos

    plot(0) = gsn_contour_map(xwks,u(indice,{200},:,:),res) ; plota o grafico sobre o mapa

;---------- DETALHES DO SEGUNDO CAMPO (campo vetorial) -----------------------
    resvec = True
      resvec_at_gsnScale = True ; força eixos X-Y serem do mesmo tamanho
      resvec_at_tiYAxisString = "" ; s/ título eixo y (usa o do primeiro)
      resvec_at_tiMainString = ":F25:Vento Meridional 850 hPa" ; título 2

      ; Atributos para os vetores -> @vc...
      resvec_at_vcRefMagnitudeF = 10.
      resvec_at_vcRefLengthF = 0.045
      resvec_at_vcMinDistanceF = 0.017

      ; Atributos do mapa -> @mp...
      resvec_at_mpOutlineBoundarySets = "National" ; Desenha divisoes politicas
      resvec_at_pmTickMarkDisplayMode = "Always" ; Coloca info lat & lon
      resvec_at_mpLimitMode = "LatLon" ; Limita o mapa.
      resvec_at_mpMinLonF = 270 ; Dimensoes
      resvec_at_mpMaxLonF = 330 ; maximas e minimas
      resvec_at_mpMinLatF = -55 ; de lat/lon
      resvec_at_mpMaxLatF = 15 ; do mapa
      resvec_at_mpPerimOn = True
      resvec_at_mpFillOn = False ; desliga preenchimento cinza

      resvec_at_gsnDraw = False ; não desenha o gráfico imediatamente
      resvec_at_gsnFrame = False ; não avança quadro, para desenhar os dois campos juntos
     
    plot(1) = gsn_csm_vector_map(xwks,u(indice,{850},:,:),v(indice,{850},:,:),resvec)

;------------ ESTADOS --------------------
    resp = True ; liga características das linhas que fazem as
                                     ; divisões estaduais
      resp_at_gsLineColor = "Foreground" ; cor das linhas
      resp_at_gsLineThicknessF = 1.5 ; espessura das linhas

      arquivos = systemfunc("ls estados/*.boundary") ; lista de arquivos com posicoes de fronteiras
      narqs = dimsizes(arquivos) ; obtendo nro total de arquivos

      poli = new(narqs,"graphic") ; vetor q conterá os linhas gráficas
      poli2 = poli

      do i=0,narqs-1 ; loop para ler os arquivos com info dos estados
         front = asciiread( arquivos(i), -1, "float" ) ; le ptos lat/lon
        
         nptos = dimsizes(front(0::2)) ; nro de pontos lat/lon

         latlon = new((/2,nptos/),"float") ; criando matriz com lat/lon
         latlon(0,:) = (/front(1::2)/) ; latitudes
         latlon(1,:) = (/front(0::2)/) ; longitudes

         poli(i) = gsn_add_polyline(xwks,plot(0),latlon(1,:),latlon(0,:),resp) ; adicionando linha
         poli2(i) = gsn_add_polyline(xwks,plot(1),latlon(1,:),latlon(0,:),resp) ; adicionando linha

         delete(front) ;
         delete(nptos) ; ==> remove variáveis para que outras linhas possam ser desenhadas
         delete(latlon) ;
      end do

;---------- plotando os campos ----------------------
    resP = True
      resP_at_txString = "Campos de Vento para "+dtitulo
    gsn_panel(xwks,plot,(/1,2/),resP)
   
;-------- usando ImageMagic p/ converter PS -> GIF
    system("convert -trim -density 300 -geometry 1200x780 mapa.ps mapa.gif; rm mapa.ps")
end

_______________________________________________
ncl-talk mailing list
ncl-talk_at_ucar.edu
http://mailman.ucar.edu/mailman/listinfo/ncl-talk

                
_______________________________________________________
Novidade no Yahoo! Mail: receba alertas de novas mensagens no seu celular. Registre seu aparelho agora!
http://br.mobile.yahoo.com/mailalertas/
 

mapa.gif
Received on Sat Sep 23 2006 - 12:08:44 MDT

This archive was generated by hypermail 2.2.0 : Mon Sep 25 2006 - 11:45:07 MDT