爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 6315|回复: 4

[作图] 【已解决】使用gsn_contour_shade打点标注差值图,却把填色图覆盖了,求助

[复制链接]

新浪微博达人勋

发表于 2017-9-29 18:13:45 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
本帖最后由 felin 于 2017-10-1 10:58 编辑

之后我尝试把画plot的绘图设置在重新画一遍,即从
bres=True
。。。至
plot = gsn_csm_contour_map(wks,dif,bres)  
再复制画一次(当然要改成res和plot1)
后面还是opt = True不变,结果就画出来了。问题解决但
至于为什么之前没画出填色图的问题,不清楚。。。
*****************************************
请大家帮忙看看我用ncl画图的脚本,只画plot时,填色图是存在的,但是一旦加上        plot1         =  gsn_contour_shade(plot, -0.15,0.15, opt)     这一句,画的图就只有点,没有填色图了,如下!同时也试过overlay把两张图重一起,也还是只有点没填色图。
请问这是为什么,怎么改呢?

;**************************************************  
; create plots
;************************************************
    wks  = gsn_open_wks("ps","diff")             ; send graphics to PS file
    gsn_define_colormap(wks,"ncl_default")        ; choose colormap

  bres=True

  bres@gsnSpreadColors       = True             ; use full range of colormap
  bres@gsnDraw               = False
  bres@gsnFrame              = False
  bres@gsnAddCyclic                         = False

  bres@cnFillOn              = True             ; color plot desired
  bres@cnLinesOn             = False            ; turn off contour lines
  bres@cnLineLabelsOn        = False            ; turn off contour labels

  bres@cnLevelSelectionMode = "ExplicitLevels"
  bres@cnLevels             = (/-0.2,-0.15,-0.1,-0.05,0,0.05,0.1,0.15,0.2/)  

  bres@mpMinLatF                =  18   
  bres@mpMaxLatF                =  53.5
  bres@mpMinLonF                =  72
  bres@mpMaxLonF                =  135.5


  bres@pmTickMarkDisplayMode      = "Always"
  bres@mpFillOn                   = False
  bres@mpDataSetName              = "/public/home/***/NCL/lib/ncarg/database/Earth..4"
  bres@mpDataBaseVersion          = "MediumRes" ; or "Ncarg4_1"
  bres@mpAreaMaskingOn            = True  
  bres@mpMaskAreaSpecifiers       = (/"China"/)
  bres@mpOutlineSpecifiers        = (/"China","China:Provinces"/)
  bres@mpFillDrawOrder             = "PostDraw"
  bres@mpFillOn                    = True
  bres@mpFillAreaSpecifiers        = (/"water",    "land" /)
  bres@mpSpecifiedFillColors       = (/"white",    "white"/)


  bres@tmXTOn                      = False
  bres@tmXTLabelsOn                = False
  bres@tmXTMinorOn                 = False

  bres@tmYROn                      = False
  bres@tmYRLabelsOn                = False
  bres@tmYRMinorOn                 = False

  bres@mpUSStateLineThicknessF     = 2.0
  bres@mpGeophysicalLineThicknessF = 2.0
  bres@mpNationalLineThicknessF    = 2.0
  bres@tfDoNDCOverlay                    = True

  plot = gsn_csm_contour_map(wks,dif,bres)           
        
        opt = True
        opt@gsnShadeFillType = "pattern"      ; pattern fill  
        opt@gsnShadeLow                 = 17
        opt@gsnShadeHigh                 = 17          ; use pattern #17         
        opt@cnLineLabelsOn      = True


        plot1         =  gsn_contour_shade(plot, -0.15,0.15, opt)     
           

        draw(plot1)                                                                                                                     
        frame(wks)


QQ图片20170930213724.png

密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-9-30 06:42:23 | 显示全部楼层
你不打点图能出来吗?还是和你mp的设置有关?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-9-30 12:04:08 | 显示全部楼层
  draw(plot1) 你这个命令就说明你只画了plot1
把draw(plot1)和frame(wks)删掉,试试overlay(plot,plot1)                                                                                                              
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-9-30 12:46:33 | 显示全部楼层
把plot1=gsn_contour_shade(wks,plot..)  改成plot = gsn_contour_shade(wks,plot..)  应该是可以的,因为你打点是在plot上打点,而不是新建一张plot1图,
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2017-10-1 16:57:00 | 显示全部楼层
talkd 发表于 2017-9-30 06:42
你不打点图能出来吗?还是和你mp的设置有关?

只要去掉 opt 后面的语句,不打点的图可以画出来,一旦加上,就没有填色图了
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表