deadlined 2024-04-19 22:16 采纳率: 0%
浏览 72

ncl画图过程中打点出现了问题,怎么解决

ncl画图打点,运行不报错,但是图上没有点

rese=True
rese@gsMarkerSizeF=0.5
rese@gsMarkerIndex=16 
rese@gsMarkerColor="blue" 
rese@gsMarkerThicknessF=10
gsn_polymarker(wks,plot,91,29,rese)

  • 写回答

4条回答 默认 最新

  • 专家-赤兔[在线] 优质创作者: 编程框架技术领域 2024-04-19 22:16
    关注

    引自免费微信小程序:皆我百晓生

    看起来你在使用NCL(National Center for Atmospheric Research Common Data Model Language)进行绘图,并且遇到了在图上显示标记的问题。从提供的代码片段来看,你已经定义了标记的属性(大小、颜色、厚度等),然后尝试在特定坐标(91, 29)上使用gsn_polymarker函数绘制标记。

    首先,确保你已经在正确的工作空间(workspace)中执行这些命令,且wksplot变量已经被适当初始化并包含了正确的数据。如果你的数据集是一个二维数组或者列表,你需要提供两个对应的维度作为标记的X和Y坐标。

    这里是完整的代码示例,包括创建一个新的工作空间、添加一个图形到工作空间以及绘制标记:

    # 初始化工作空间
    wks = gsn_open_wks("png","test_plot") 
    
    # 创建一个新的图形区域
    res = True
    res@gsMarkerSizeF = 0.5
    res@gsMarkerIndex = 16
    res@gsMarkerColor = "blue"
    res@gsMarkerThicknessF = 10
    
    # 定义坐标轴范围
    x_min = 0
    x_max = 180
    y_min = -90
    y_max = 90
    
    # 设置图形区域
    plot = gsn_defineprojection(wks,"lat_lon",x_min,x_max,y_min,y_max)
    
    # 绘制网格线
    gsn_add_perspective(plot)
    gsn_define_colormap(wks,"default")
    gsn_map defaulted(map,"xy",x_min,x_max,y_min,y_max,res)
    
    # 在坐标 (91, 29) 上绘制标记
    gsn_polymarker(wks,plot,91,29,res)
    
    # 执行绘图操作
    gsn_draw(wks,plot)
    
    # 保存图像
    gsave(wks,"test_plot.png",False)
    gs_close(wks)
    

    这段代码会创建一个简单的经纬度地图,并在坐标 (91, 29) 处放置一个蓝色的标记。如果你想要在其他位置绘制多个标记,可以将它们的坐标存储在一个二维数组中,然后遍历数组调用 gsn_polymarker 函数。

    如果你的问题依然存在,可能是因为数据问题或者数据与坐标系统不匹配。请检查你的数据集是否包含预期的坐标值,并确保它们与你期望在图上展示的位置一致。如果问题仍未解决,提供更多信息(例如数据集样本或更详细的代码段)可能会有助于进一步诊断问题。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 4月19日