You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在GrADS绘图中添加右侧气象数据色标?cbar等命令失效如何解决

GrADS添加右侧色标的可行解决方法
  • 修正cbar命令的调用逻辑
    cbar失效绝大多数情况是调用时机错误,必须在完成主填色图绘制后再执行cbar,提前调用、或者未设置填色模式都会导致命令不生效,标准执行流程示例:
'reinit'
'sdfopen your_mete_data.nc'
# 配置绘图区域
'set lon 70 140'
'set lat 0 60'
# 必须先设置填色输出模式
'set gxout shaded'
# 绘制目标气象变量
'd 2t - 273.15'
# 主图绘制完成后调用cbar
'cbar'
# 如需自定义色标位置、标签,可追加参数,例如固定在右侧指定区域
'cbar -lon 145 150 -lat 10 50 -title "2米气温(℃)"'
  • 提前配置色标自动生成规则
    部分GrADS版本默认关闭色标自动生成,可在绘图前通过set cbar系列命令提前配置属性,绘图完成后会自动生成右侧色标:
# 开启色标自动生成
'set cbar on'
# 固定色标位置为图像右侧
'set cbar location right'
# 配置色标字号、数值格式
'set cbar labelsize 0.12'
'set cbar format %.1f'
# 后续正常执行填色绘图命令即可
'set gxout shaded'
'd precip'
  • 手动绘制自定义色标
    如果自动生成方案仍不生效,可通过自定义色阶、手动绘制色块的方式生成高度自定义的色标:
# 定义色阶与对应颜色映射
levels = [-20,-10,0,10,20,30]
colors = [1,2,3,4,5,6]
# 在图像右侧区域逐个绘制色标色块、标注数值
i = 1
while (i <= 5)
  'set line 'colors[i]
  'draw rect 142 'levels[i]' 145 'levels[i+1]
  'draw string 147 'levels[i]+0.5' 'levels[i]
  i = i + 1
endwhile
# 加色标标题
'draw string 142 32 "气温(℃)"'

注意事项

  • 执行set gxout bar后要改回set gxout shaded再绘制填色图,否则cbar无法识别色阶对应关系
  • 如需自定义色标取值范围,可提前执行set clevs 最小值 间隔值 最大值设置固定色阶

内容的提问来源于stack exchange,提问作者ibrahim erkol

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 13:48:05