<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"><style>body { line-height: 1.5; }body { font-size: 10.5pt; font-family: 微软雅黑; color: rgb(0, 0, 0); line-height: 1.5; }</style></head><body>
<div><span></span>hi.</div><div> when i want to plot station wind barb with gsn_panel style, i found it difficult to overlay wmvectmap on individual figure with panel,</div><div>i have tried some methods , such as put the wmvectmap front or behind the gsn_panel or every independent subplot, but they didn't work.</div><div><br></div><div>the following is my script,</div><div>+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++</div><div><span style="color: rgb(0, 0, 0); background-color: rgba(0, 0, 0, 0);">load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"<br>load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"<br>load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl"<br>load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/shea_util.ncl"<br>load "./shapefile_mask_data.ncl"<br>;load "$GEODIAG_ROOT/geodiag.ncl"<br><br>begin<br>shp_fname="jjj.shp"<br>create_mask=True<br><br>minlon = 113.40<br>maxlon = 119.90<br>minlat = 36.00<br>maxlat = 42.70<br><br>add_latlon_points = False<br>add_shapefile_outlines = True<br>;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<br>;; uv data<br>bj_csvs1=systemfunc("ls uvdata/112920_inside_jingjinji_obs.csv")<br><br>lines1=asciiread(bj_csvs1,-1,"string")<br>nlines1=dimsizes(lines1) - 1<br><br>delim1=","<br>field_names1=str_split(lines1(0),delim1)<br>nfields1=dimsizes(field_names1)<br><br>;<br>fields1=new((/nfields1,nlines1/),string)<br>do nf=0,nfields1-1<br> fields1(nf,:)=str_get_field(lines1(1:),nf+1,delim1)<br>end do<br><br>;print(fields(1,:) + " "+fields(2,:) + " "+tofloat(fields(3,:))*2.5+" "+tofloat(fields(4,:))*2.5)<br>;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<br>bj_csvs2=systemfunc("ls uvdata/113008_inside_jingjinji_obs.csv")<br><br>lines2=asciiread(bj_csvs2,-1,"string")<br>nlines2=dimsizes(lines2) - 1<br><br>delim2=","<br>field_names2=str_split(lines2(0),delim2)<br>nfields2=dimsizes(field_names2)<br><br>;<br>fields2=new((/nfields2,nlines2/),string)<br>do nf=0,nfields2-1<br> fields2(nf,:)=str_get_field(lines2(1:),nf+1,delim2)<br>end do<br><br>;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<br>bj_csvs3=systemfunc("ls uvdata/113014_inside_jingjinji_obs.csv")<br><br>lines3=asciiread(bj_csvs3,-1,"string")<br>nlines3=dimsizes(lines3) - 1<br><br>delim3=","<br>field_names3=str_split(lines3(0),delim3)<br>nfields3=dimsizes(field_names3)<br><br>;<br>fields3=new((/nfields3,nlines3/),string)<br>do nf=0,nfields3-1<br> fields3(nf,:)=str_get_field(lines3(1:),nf+1,delim3)<br>end do<br><br>;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<br>bj_csvs4=systemfunc("ls uvdata/113020_inside_jingjinji_obs.csv")<br><br>lines4=asciiread(bj_csvs4,-1,"string")<br>nlines4=dimsizes(lines4) - 1<br><br>delim4=","<br>field_names4=str_split(lines4(0),delim4)<br>nfields4=dimsizes(field_names4)<br><br>;<br>fields4=new((/nfields4,nlines4/),string)<br>do nf=0,nfields4-1<br> fields4(nf,:)=str_get_field(lines4(1:),nf+1,delim4)<br>end do<br><br><br>;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<br>;; pm2.5 data<br><br> ncol = 3 ; number of columns is 3£»ÄãµÄÁÐÊý<br> stationdata1= readAsciiTable("pm2.5_txt/15112920.txt", ncol, "float", 1)<br> stationdata2= readAsciiTable("pm2.5_txt/15113008.txt", ncol, "float", 1)<br> stationdata3= readAsciiTable("pm2.5_txt/15113014.txt", ncol, "float", 1)<br> stationdata4= readAsciiTable("pm2.5_txt/15113020.txt", ncol, "float", 1)<br><br> ; print(dimsizes(stationdata1))<br> nps1 =dimsizes(stationdata1)<br> npts1 = nps1(0) ; Number of points.<br><br> nps2 =dimsizes(stationdata2)<br> npts2 = nps2(0) ; Number of points.<br><br> nps3 =dimsizes(stationdata3)<br> npts3 = nps3(0) ; Number of points.<br><br> nps4 =dimsizes(stationdata4)<br> npts4 = nps4(0) ; Number of points.<br><br> lat1 = stationdata1(:,1) ; latitude values<br> lon1 = stationdata1(:,0) ; longitude values<br> pm251= stationdata1(:,2) ; station numbers to appear on the map£»Õâ¸öµØ·½Äã¿ÉÒÔдÎÛȾÊý¾Ý<br><br> lat2 = stationdata2(:,1) ; latitude values<br> lon2 = stationdata2(:,0) ; longitude values<br> pm252= stationdata2(:,2) ; station numbers to appear on the map£»Õâ¸öµØ·½Äã¿ÉÒÔдÎÛȾÊý¾Ý<br><br> lat3 = stationdata3(:,1) ; latitude values<br> lon3 = stationdata3(:,0) ; longitude values<br> pm253= stationdata3(:,2) ; station numbers to appear on the map£»Õâ¸öµØ·½Äã¿ÉÒÔдÎÛȾÊý¾Ý<br><br> lat4 = stationdata4(:,1) ; latitude values<br> lon4 = stationdata4(:,0) ; longitude values<br> pm254= stationdata4(:,2) ; station numbers to appear on the map£»Õâ¸öµØ·½Äã¿ÉÒÔдÎÛȾÊý¾Ý<br><br> ; printMinMax(pm251,0)<br>;-------interpolate-----------------------------------------------------<br> olon1 =new(80,"float")<br> olat1 =new(80,"float")<br> data1=new((/80,80/),"float")<br> do j=0,79<br> olon1(j)=113+j*0.1<br> end do<br> do k=0,79<br> olat1(k)=36+k*0.1<br> end do<br> <br> olon2 =new(80,"float")<br> olat2 =new(80,"float")<br> data2=new((/80,80/),"float")<br> do j=0,79<br> olon2(j)=113+j*0.1<br> end do<br> do k=0,79<br> olat2(k)=36+k*0.1<br> end do<br><br> olon3 =new(80,"float")<br> olat3 =new(80,"float")<br> data3=new((/80,80/),"float")<br> do j=0,79<br> olon3(j)=113+j*0.1<br> end do<br> do k=0,79<br> olat3(k)=36+k*0.1<br> end do<br><br> olon4 =new(80,"float")<br> olat4 =new(80,"float")<br> data4=new((/80,80/),"float")<br> do j=0,79<br> olon4(j)=113+j*0.1<br> end do<br> do k=0,79<br> olat4(k)=36+k*0.1<br> end do<br><br>;---------set interpolate res--------------------------------------------<br> olon1!0 ="lon"<br> olon1@long_name="lontitude"<br> olon1@units ="degrees-east"<br> olon1&lon =olon1<br><br> olat1!0 ="lat"<br> olat1@long_name="latitude"<br> olat1@units ="degrees-north"<br> olat1&lat =olat1<br><br> olon2!0 ="lon"<br> olon2@long_name="lontitude"<br> olon2@units ="degrees-east"<br> olon2&lon =olon2<br><br> olat2!0 ="lat"<br> olat2@long_name="latitude"<br> olat2@units ="degrees-north"<br> olat2&lat =olat2<br><br><br> olon3!0 ="lon"<br> olon3@long_name="lontitude"<br> olon3@units ="degrees-east"<br> olon3&lon =olon3<br><br> olat3!0 ="lat"<br> olat3@long_name="latitude"<br> olat3@units ="degrees-north"<br> olat3&lat =olat3<br><br> olon4!0 ="lon"<br> olon4@long_name="lontitude"<br> olon4@units ="degrees-east"<br> olon4&lon =olon4<br><br> olat4!0 ="lat"<br> olat4@long_name="latitude"<br> olat4@units ="degrees-north"<br> olat4&lat =olat4<br><br>;--------Call interpolation function--------------------------------------<br> ;pm25@_FillValue=999999.000000<br> rscan=(/10,5,3,2,1,0.5,0.2,0.1/)<br> data1=obj_anal_ic_deprecated(lon1, lat1, pm251, olon1, olat1, rscan, False);creanm<br> data2=obj_anal_ic_deprecated(lon2, lat2, pm252, olon2, olat2, rscan, False);creanm<br> data3=obj_anal_ic_deprecated(lon3, lat3, pm253, olon3, olat3, rscan, False);creanm<br> data4=obj_anal_ic_deprecated(lon4, lat4, pm254, olon4, olat4, rscan, False);creanm<br> printMinMax(data1 ,0)<br> data1!0="lat"<br> data1!1="lon"<br> data1&lat=olat1<br> data1&lon=olon1<br> data1@units=""<br> data1@long_name="pm2.5"<br> ;data1@_FillValue = pm25@_FillValue<br> printMinMax(olat1,0)<br> printMinMax(olon1, 0)<br><br> data2!0="lat"<br> data2!1="lon"<br> data2&lat=olat2<br> data2&lon=olon2<br> data2@units=""<br> data2@long_name="pm2.5"<br> ;data1@_FillValue = pm25@_FillValue<br> printMinMax(olat2,0)<br> printMinMax(olon2, 0)<br><br> data3!0="lat"<br> data3!1="lon"<br> data3&lat=olat3<br> data3&lon=olon3<br> data3@units=""<br> data3@long_name="pm2.5"<br> ;data1@_FillValue = pm25@_FillValue<br> printMinMax(olat3,0)<br> printMinMax(olon3, 0)<br><br> data4!0="lat"<br> data4!1="lon"<br> data4&lat=olat4<br> data4&lon=olon4<br> data4@units=""<br> data4@long_name="pm2.5"<br> ;data1@_FillValue = pm25@_FillValue<br> printMinMax(olat4,0)<br> printMinMax(olon4, 0)<br><br><br>;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<br>mask_fname1="15112920_mask.nc"<br>if(create_mask) then<br> print("create the mask file: ")<br><br>;---Create a new mask using a shapefile of Henan<br> udims1 = dimsizes(data1) <br> opt1 = True<br> opt1@return_mask = True<br>; opt1@debug = True<br> opt1@minlon = minlon ; Makes the shapefile masking<br> opt1@maxlon = maxlon ; go faster.<br> opt1@minlat = minlat<br> opt1@maxlat = maxlat<br> jjj_mask1 = shapefile_mask_data(data1({minlat:maxlat},{minlon:maxlon}),shp_fname,opt1)<br><br>;---Write new mask to file<br> system("rm -f " + mask_fname1)<br> fout1 = addfile(mask_fname1,"c")<br> fout1->jjj_mask1 = jjj_mask1 <br> else<br> print("Reading mask off file.")<br><br>;---Read the new mask from the NetCDF file <br> fmask1 = addfile(mask_fname1,"r")<br> jjj_mask1 = fmask->jjj_mask1 <br> end if <br><br> umask_data1 = where(jjj_mask1.eq.1,data1({minlat:maxlat},{minlon:maxlon}),data1@_FillValue)<br> copy_VarMeta(data1({minlat:maxlat},{minlon:maxlon}),umask_data1)<br> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<br><br>;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<br>mask_fname2="15113008_mask.nc"<br>if(create_mask) then<br> print("create the mask file: ")<br><br>;---Create a new mask using a shapefile of Henan<br> udims2 = dimsizes(data2) <br> opt2 = True<br> opt2@return_mask = True<br>; opt2@debug = True<br> opt2@minlon = minlon ; Makes the shapefile masking<br> opt2@maxlon = maxlon ; go faster.<br> opt2@minlat = minlat<br> opt2@maxlat = maxlat<br> jjj_mask2 = shapefile_mask_data(data2({minlat:maxlat},{minlon:maxlon}),shp_fname,opt2)<br><br>;---Write new mask to file<br> system("rm -f " + mask_fname2)<br> fout2 = addfile(mask_fname2,"c")<br> fout2->jjj_mask2 = jjj_mask2<br> else<br> print("Reading mask off file.")<br><br>;---Read the new mask from the NetCDF file <br> fmask2 = addfile(mask_fname2,"r")<br> jjj_mask2 = fmask2->jjj_mask2 <br> end if <br><br> umask_data2 = where(jjj_mask2.eq.1,data2({minlat:maxlat},{minlon:maxlon}),data2@_FillValue)<br> copy_VarMeta(data2({minlat:maxlat},{minlon:maxlon}),umask_data2)<br> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<br><br> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<br>mask_fname3="15113014_mask.nc"<br>if(create_mask) then<br> print("create the mask file: ")<br><br>;---Create a new mask using a shapefile of Henan<br> udims3 = dimsizes(data3) <br> opt3 = True<br> opt3@return_mask = True<br>; opt3@debug = True<br> opt3@minlon = minlon ; Makes the shapefile masking<br> opt3@maxlon = maxlon ; go faster.<br> opt3@minlat = minlat<br> opt3@maxlat = maxlat<br> jjj_mask3 = shapefile_mask_data(data3({minlat:maxlat},{minlon:maxlon}),shp_fname,opt3)<br><br>;---Write new mask to file<br> system("rm -f " + mask_fname3)<br> fout3 = addfile(mask_fname3,"c")<br> fout3->jjj_mask3 = jjj_mask3 <br> else<br> print("Reading mask off file.")<br><br>;---Read the new mask from the NetCDF file <br> fmask3 = addfile(mask_fname3,"r")<br> jjj_mask3 = fmask3->jjj_mask3 <br> end if <br><br> umask_data3 = where(jjj_mask3.eq.1,data3({minlat:maxlat},{minlon:maxlon}),data3@_FillValue)<br> copy_VarMeta(data3({minlat:maxlat},{minlon:maxlon}),umask_data3)<br> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<br><br> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<br>mask_fname4="15113020_mask.nc"<br>if(create_mask) then<br> print("create the mask file: ")<br><br>;---Create a new mask using a shapefile of Henan<br> udims4 = dimsizes(data4) <br> opt4 = True<br> opt4@return_mask = True<br>; opt4@debug = True<br> opt4@minlon = minlon ; Makes the shapefile masking<br> opt4@maxlon = maxlon ; go faster.<br> opt4@minlat = minlat<br> opt4@maxlat = maxlat<br> jjj_mask4 = shapefile_mask_data(data4({minlat:maxlat},{minlon:maxlon}),shp_fname,opt4)<br><br>;---Write new mask to file<br> system("rm -f " + mask_fname4)<br> fout4 = addfile(mask_fname4,"c")<br> fout4->jjj_mask4 = jjj_mask4 <br> else<br> print("Reading mask off file.")<br><br>;---Read the new mask from the NetCDF file <br> fmask4 = addfile(mask_fname4,"r")<br> jjj_mask4 = fmask4->jjj_mask4 <br> end if <br><br> umask_data4 = where(jjj_mask4.eq.1,data4({minlat:maxlat},{minlon:maxlon}),data4@_FillValue)<br> copy_VarMeta(data4({minlat:maxlat},{minlon:maxlon}),umask_data4)<br> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<br><br>;; plot<br> type="png"<br> wks = gsn_open_wks(type,"2015112920-113020_jjj") ; Open a workstation and<br> colors=(/"White","Black","(/.027,.729,.145/)","(/.431,.824,.035/)",\<br> "(/.800,.937,.012/)","(/1.00,.969,0.00/)","(/1.00,.871,0.00/)",\<br> "(/1.00,.710,0.00/)","(/1.00,.549,0.00/)","(/0.00,.757,1.00/)",\<br> "(/0.00,0.455,1.00/)","(/0.00,.122,1.00/)","(/1.00,.275,0.00/)",\<br> "(/1.00,0.059,0.00/)"/) <br> gsn_define_colormap(wks,colors)<br><br> res = True ; plot mods desired<br> res@gsnMaximize = True <br> res@gsnDraw = False<br> res@gsnFrame = False<br><br> res@mpOutlineOn = False<br> res@cnFillOn = True ; turn on color fill<br> res@cnLinesOn = False ; turn off contour lines<br> res@cnLineLabelsOn = False ; turn off contour line labels<br> ;res@lbLabelBarOn = False ; will turn on in panel<br> res@gsnAddCyclic = False ; data already has cyclic point<br> res@mpFillColors = (/-1,0,-1,-1/) ; background color is white<br><br> res@mpDataBaseVersion = "MediumRes"<br> res@mpMinLonF = minlon<br> res@mpMaxLonF = maxlon<br> res@mpMinLatF = minlat<br> res@mpMaxLatF = maxlat<br> res@mpCenterLonF = (minlon+maxlon)/2.<br><br> res1 = True<br> res1 = res<br> res1@tmXBMode = "Explicit"<br> res1@tmXBValues =(/113.40,114.7,116.0,117.3,118.6,119.9/)<br> res1@tmXBLabels =(/"113.40","114.7","116.0","117.3","118.6","119.9"/)<br><br> res1@tmYLMode = "Explicit"<br> res1@tmYLValues =(/36.00,37.1,38.2,39.3,40.3,41.4,42.70/)<br> res1@tmYLLabels =(/"36.00","37.1","38.2","39.3","40.3","41.4","42.70"/)<br><br> res1@gsnCenterString = "2015-11-29-20"<br><br> plot1 = gsn_csm_contour_map(wks,umask_data1,res1)<br> wmsetp("vrs - size of reference vector in user space",15.0)<br> wmsetp("vrn - size of reference vector on plot in NDC space", 0.1)<br> wmsetp("vcw - linewidth scale",3.)<br> wmsetp("vcc - vector color",1)<br> wmsetp("vch - controls the vector arrow head size",0.01)<br> wmvectmap(wks, tofloat(fields1(2,:)), tofloat(fields1(1,:)), tofloat(fields1(3,:))*2.5, tofloat(fields1(4,:))*2.5)<br> wmvlbl(wks,0.95,0.)<br> <br> res2 = True<br> res2 = res<br> res2@tmXBMode = "Explicit"<br> res2@tmXBValues =(/113.40,114.7,116.0,117.3,118.6,119.9/)<br> res2@tmXBLabels =(/"113.40","114.7","116.0","117.3","118.6","119.9"/)<br><br> res2@tmYLMode = "Explicit"<br> res2@tmYLValues =(/36.00,37.1,38.2,39.3,40.3,41.4,42.70/)<br> res2@tmYLLabels =(/"36.00","37.1","38.2","39.3","40.3","41.4","42.70"/)<br> <br> res2@gsnCenterString = "2015-11-30-08"<br> plot2 = gsn_csm_contour_map(wks,umask_data2,res2)<br> ; wmsetp("vrs - size of reference vector in user space",15.0)<br> ; wmsetp("vrn - size of reference vector on plot in NDC space", 0.1)<br> ; wmsetp("vcw - linewidth scale",3.)<br> ; wmsetp("vcc - vector color",1)<br> ; wmsetp("vch - controls the vector arrow head size",0.01)<br> ; wmvectmap(wks, tofloat(fields2(2,:)), tofloat(fields2(1,:)), tofloat(fields2(3,:))*2.5, tofloat(fields2(4,:))*2.5)<br><br><br> res3 = True<br> res3 = res<br> res3@tmXBMode = "Explicit"<br> res3@tmXBValues =(/113.40,114.7,116.0,117.3,118.6,119.9/)<br> res3@tmXBLabels =(/"113.40","114.7","116.0","117.3","118.6","119.9"/)<br><br> res3@tmYLMode = "Explicit"<br> res3@tmYLValues =(/36.00,37.1,38.2,39.3,40.3,41.4,42.70/)<br> res3@tmYLLabels =(/"36.00","37.1","38.2","39.3","40.3","41.4","42.70"/)<br> <br> res3@gsnCenterString = "2015-11-30-14"<br> plot3 = gsn_csm_contour_map(wks,umask_data3,res3)<br> ; wmsetp("vrs - size of reference vector in user space",15.0)<br> ; wmsetp("vrn - size of reference vector on plot in NDC space", 0.1)<br> ; wmsetp("vcw - linewidth scale",3.)<br> ; wmsetp("vcc - vector color",1)<br> ; wmsetp("vch - controls the vector arrow head size",0.01)<br> ; wmvectmap(wks, tofloat(fields3(2,:)), tofloat(fields3(1,:)), tofloat(fields3(3,:))*2.5, tofloat(fields3(4,:))*2.5)<br><br> res4 = True<br> res4 = res<br> res4@tmXBMode = "Explicit"<br> res4@tmXBValues =(/113.40,114.7,116.0,117.3,118.6,119.9/)<br> res4@tmXBLabels =(/"113.40","114.7","116.0","117.3","118.6","119.9"/)<br><br> res4@tmYLMode = "Explicit"<br> res4@tmYLValues =(/36.00,37.1,38.2,39.3,40.3,41.4,42.70/)<br> res4@tmYLLabels =(/"36.00","37.1","38.2","39.3","40.3","41.4","42.70"/)<br> <br> res4@gsnCenterString = "2015-11-30-20"<br> plot4 = gsn_csm_contour_map(wks,umask_data4,res4)<br> ; wmsetp("vrs - size of reference vector in user space",15.0)<br> ; wmsetp("vrn - size of reference vector on plot in NDC space", 0.1)<br> ; wmsetp("vcw - linewidth scale",3.)<br> ; wmsetp("vcc - vector color",1)<br> ; wmsetp("vch - controls the vector arrow head size",0.01)<br> ; wmvectmap(wks, tofloat(fields4(2,:)), tofloat(fields4(1,:)), tofloat(fields4(3,:))*2.5, tofloat(fields4(4,:))*2.5)<br><br> if(add_shapefile_outlines) then<br> lnres = True<br> poly1 = gsn_add_shapefile_polylines(wks,plot1,shp_fname,lnres)<br> poly2 = gsn_add_shapefile_polylines(wks,plot2,shp_fname,lnres)<br> poly3 = gsn_add_shapefile_polylines(wks,plot3,shp_fname,lnres)<br> poly4 = gsn_add_shapefile_polylines(wks,plot4,shp_fname,lnres)<br> end if<br> <br> pres = True<br> pres@gsnMaximize = True<br> pres@gsnPanelLabelBar = False<br> pres@txString = "PM2.5 and station vector"<br> ;pres@pmLabelBarWidthF = 0.6<br> pres@lbLabelFontHeightF = 0.01 ; make labels smaller<br><br> ; wmsetp("vrs - size of reference vector in user space",15.0)<br> ; wmsetp("vrn - size of reference vector on plot in NDC space", 0.1)<br> ; wmsetp("vcw - linewidth scale",3.)<br> ; wmsetp("vcc - vector color",1)<br> ; wmsetp("vch - controls the vector arrow head size",0.01)<br> ; wmvectmap(wks, tofloat(fields1(2,:)), tofloat(fields1(1,:)), tofloat(fields1(3,:))*2.5, tofloat(fields1(4,:))*2.5)<br> ; wmvectmap(wks, tofloat(fields2(2,:)), tofloat(fields2(1,:)), tofloat(fields2(3,:))*2.5, tofloat(fields2(4,:))*2.5)<br> ; wmvectmap(wks, tofloat(fields3(2,:)), tofloat(fields3(1,:)), tofloat(fields3(3,:))*2.5, tofloat(fields3(4,:))*2.5)<br> ; wmvectmap(wks, tofloat(fields4(2,:)), tofloat(fields4(1,:)), tofloat(fields4(3,:))*2.5, tofloat(fields4(4,:))*2.5)<br> ; wmsetp("vrs",5.)<br> ; wmsetp("vrn",0.1)<br> ; wmsetp("vlb - for setting the background color",0)<br> ; wmsetp("vrs",5.)<br><br> wmvlbl(wks, 0.8 ,0.2)<br> <br> gsn_panel(wks,(/plot1,plot2,plot3,plot4/),(/2,2/),pres)<br><br> ;draw(plot)<br><br> ; wmsetp("vch", 0.05)<br> ; wmsetp("vcc", 1)<br> ; wmsetp("vcw", 3.)<br> ; wmsetp("wbs", 0.05)<br> ; wmsetp("col", 1)<br> ; wmsetp("wbs", 0.06)<br> ; wmsetp("ezf",2)<br> ; wmsetp("wbs",0.12)<br> ; wmsetp("col", 1)<br> ; wmsetp("sht", 2.0)<br> ; wmsetp("ars",0.05)<br> ; wmsetp("arl",1.5)<br> ; wmsetp("blw", 4.0)<br> ; wmsetp("wbs", 0.03)<br><br> ; wmsetp("vrs - size of reference vector in user space",15.0)<br> ; wmsetp("vrn - size of reference vector on plot in NDC space", 0.1)<br> ; wmsetp("vcw - linewidth scale",3.)<br> ; wmsetp("vcc - vector color",1)<br> ; wmsetp("vch - controls the vector arrow head size",0.01)<br> ; wmvectmap(wks, tofloat(fields1(2,:)), tofloat(fields1(1,:)), tofloat(fields1(3,:))*2.5, tofloat(fields1(4,:))*2.5)<br> ; wmvectmap(wks, tofloat(fields2(2,:)), tofloat(fields2(1,:)), tofloat(fields2(3,:))*2.5, tofloat(fields2(4,:))*2.5)<br> ; wmvectmap(wks, tofloat(fields3(2,:)), tofloat(fields3(1,:)), tofloat(fields3(3,:))*2.5, tofloat(fields3(4,:))*2.5)<br> ; wmvectmap(wks, tofloat(fields4(2,:)), tofloat(fields4(1,:)), tofloat(fields4(3,:))*2.5, tofloat(fields4(4,:))*2.5)<br> ; wmsetp("vrs",5.)<br> ; wmsetp("vrn",0.1)<br> ; wmsetp("vlb - for setting the background color",0)<br> ; wmsetp("vrs",5.)<br> ; wmvlbl(wks,0.85,0.78)<br><br> ; wmvectmap(wks, tofloat(fields(2,:)), tofloat(fields(1,:)), tofloat(fields(3,:)), tofloat(fields(4,:)))<br> ; wmvlbl(wks, 1.0, 0.0)<br> <br><br> ; frame(wks)<br><br><br>end<br><br></span></div><div>+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++</div><div>the final figure didn't distribute the windbard to every subplot ,but in the center of whole page.</div><div><img src="cid:_Foxmail.1@c83c190c-7559-7857-56f7-2a1470e13538" border="0"></div><div><br></div><div>the effect is the above.</div><div><br></div><div>anybody tell me the method about how to overlay those wmvectmap in individual subplot will be appreciated.</div><div><br></div><div><br></div><div>thanks</div><div><br></div><div><br></div><div><br></div><hr style="width: 210px; height: 1px;" color="#b5c4df" size="1" align="left">
<div><span><div style="MARGIN: 10px; FONT-FAMILY: verdana; FONT-SIZE: 10pt"><div>dyjbean@gmail.com</div></div></span></div>
</body></html>