爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 2025|回复: 1

[作图] 【已解决】求助各位大神,NCL画折线图图例出现重复且重叠的错误,不知道怎么消除

[复制链接]

新浪微博达人勋

发表于 2023-6-17 18:24:10 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 Lllllin 于 2023-6-17 19:53 编辑

如题,画的是XY折线图,有三根折线,程序没有warning,但图例出现重叠的情况。画图例的程序如下,请各位大佬帮忙看看是哪里出问题了!!!


  res@xyMonoLineColor    = False                         ; want colored lines
  res@xyLineColors       = (/"Blue","darkgreen","Red"/)  ; colors chosen
  res@xyLineThicknesses  = (/7.,7.,7./)                  ; line thicknesses
  res@xyDashPatterns     = (/0.,0.,0./)                  ; make all lines solid

  res@gsnLeftString      = "SU35"              ;标记是什么图
  res@gsnRightString     = "d"                 ;  ~F35~J~F~C   ℃
  res@gsnLeftStringFontHeightF  = 0.02
  res@gsnRightStringFontHeightF = 0.02

;---图例
  labels = (/"SSP1-2.6","SSP2-4.5","SSP5-8.5"/)
  res@pmLegendDisplayMode    = "Always"
  res@pmLegendWidthF         = 0.2
  res@pmLegendHeightF        = 0.08
  res@pmLegendOrthogonalPosF = -1.1
  res@pmLegendParallelPosF   = 0.15

  res@xyExplicitLegendLabels = labels
  res@lgLabelFontHeightF     = 0.015
  res@lgBoxMinorExtentF      = 0.3
  res@lgItemOrder            = (/2,1,0/)

  res@lgPerimOn              = False


  top_plot = gsn_csm_xy (wks,Y,line_ydata(0:2,:),res)       ; create line plot


------------------------------------------------------------------------------------------------
后面一段是加阴影部分的,不知道有没有影响所以我也放上来了
------------------------------------------------------------------------------------------------

; Create a plot with the area between both curves filled in blue.
  delete(res@xyLineColors)
  delete(res@lgItemOrder)

; Create a plot with the area between both curves filled in color.

  res@gsnXYFillColors = "LightBlue"
  res@xyLineColor     = -1                              ; We don't want the line, so make it transparent.
  mid1_plot  = gsn_csm_xy (wks,Y,line_ydata(3:4,:),res)  ; Create filled XY plot.

  res@gsnXYFillColors = "darkseagreen2"
  res@xyLineColor     = -1                              ; We don't want the line, so make it transparent.
  mid2_plot  = gsn_csm_xy (wks,Y,line_ydata(5:6,:),res)  ; Create another filled XY plot.

  res@gsnXYFillColors = "LightPink"
  res@xyLineColor     = -1                              ; We don't want the line, so make it transparent.
  bot_plot  = gsn_csm_xy (wks,Y,line_ydata(7:8,:),res)  ; Create another filled XY plot.

;
; Overlay the top and mid plots on the bottom plot.
;
; Don't draw anything yet, because we still need to
; attach a legend and some titles.
;
  overlay(bot_plot,mid2_plot)
  overlay(bot_plot,mid1_plot)
  overlay(bot_plot,top_plot)


  pres = True
  maximize_output(wks,pres)

print("---already print plot---")


-----------------------------------------------------------------------------------

SU35

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

新浪微博达人勋

 楼主| 发表于 2023-6-17 19:50:54 | 显示全部楼层
已解决,是很简单的错误
因为后面程序也用了res,所以影响了

解决方法:
1、把后面res换成别的
2、在后面程序前把图例labels重赋值:  res@xyExplicitLegendLabels := (/" "," "," "/)  
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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