1
\ begingroup美元

我有另一个问题,有一个包二者降水数据考虑山脉和海洋?到目前为止,我已经使用了Numpy和基础图,但在代码中可以看到,数据来自欧洲影响数据从北美!这扭曲的结果,必须不惜一切代价阻止。

(我知道我插值是非常简化)

进口matplotlib。pyplot一样plt进口numpy np来自mpl_toolkits scipy.interpolate griddata导入。技术从matplotlib进口技术。颜色从matplotlib进口LinearSegmentedColormap。补丁导入路径,PathPatch #数据坐标和值x = np.array ((6.47, 4.8, 1.94, -4.57, 5.78, 3.95, 5.45, 0.38, 7.13, 12.43, 11.59, -1.083333333, -60.996, -83.144]) y = np.array ((46.37, 43.9, 47.83, 48.36, 44.95, 43.57, 43.45, 43.12, 43.92, 51.35, 48.22, 52.88333333, 50.958, 37.02]) z = np.array((-29.5, -27.6, -32.5, -32.4, -16.0, -0.1, -12.3, -15.2, -36.2, -20.6, -38.2, -38.2, -2.0, -4.0]) #目标网格插入ξ= np。论坛(-100、100、1、dtype = ' float64 ') = np。论坛(-100100年,1,dtype = float64) xi,彝族= np。meshgrid (xi, yi) #插入子= griddata (x, y, z, (xi, yi)方法=“立方”)无花果、ax = plt.subplots (figsize = (10,10)) m =基础图(llcrnrlon = x.min (-0.1), llcrnrlat = y.min (-0.1), urcrnrlon = x.max () + 0.1, urcrnrlat = y.max() + 0.1,投影=“芝加哥”,决议=“h”, area_thresh = 1000, ax = ax) m.drawcoastlines() #在地图上绘制海岸线x, y = m (xi, yi) #地图坐标转换成c = ax扩展。子contourf (x, y, np。linspace(-40 0),延长=‘都’,提出=“喷气机”)#情节上的数据地图。plt。散射(x, y) plt.show ()

哦,如果有人知道我从Numpy可以删除这些meshgrid点,我会非常高兴一个简短的答案,因为这我不知为何没有发现(我自己觉得很奇怪)

编辑:通常海洋覆盖着一个面具,但这将使代码太长

结果:在这里输入图像描述

\ endgroup美元
4
  • 2
    \ begingroup美元 你考虑过把限制数据吗?如为欧洲创造一个区域与另一个北美与指定,只有在每个区域的数据只能用于每个土地质量。 \ endgroup美元
    - - - - - -弗雷德
    2022年5月14日在0:17吗
  • 1
    \ begingroup美元 嗨@Fred,谢谢你的回复这听起来有希望,你有一个网站或链接解释这一步吗?愿一切都好! \ endgroup美元
    - - - - - -维斯
    2022年5月14日在26吗
  • \ begingroup美元 这取决于应用程序和什么软件可用,一些包允许指定区域使用一个屏幕数字化多边形&然后指定多边形的内部或外部的一切是否包含或排除。更费力的方式是编写一个脚本将数据文件。在这种情况下可以使用的一个标准是经度的协调。选择一些冰岛西部和西部的一切报道美国日期文件&报告欧洲以东的所有数据文件。 \ endgroup美元
    - - - - - -弗雷德
    2022年5月14日8时
  • 1
    \ begingroup美元 我可以建议检查吗吗?更合适的比griddata你正在做的事情。我建议更换基础图弃用,cartopy \ endgroup美元
    - - - - - -马特·霍尔
    2022年5月14日在十九31吗

0

你的答案

通过点击“发布你的答案”,你同意我们服务条款并承认您已阅读并理解我们的隐私政策的行为准则