python - CartoPy 中绘制的等高线的插值方法

标签 python python-3.x matplotlib interpolation cartopy

我正在使用 matplotlib 和 Cartopy 从二维网格数据集生成图像。以下链接中的示例如下所示:

enter image description here

驱动此图像创建并将出现问题的关键代码如下:

dataset = Dataset('/pathtofile/' + ymd + '/file_d0tmax.nc')
temp = dataset.variables['TMAX2M'][:]
lats = dataset.variables['lat'][:]
lons = dataset.variables['lon'][:]

fig = plt.figure(figsize=(14,8))
ax = plt.axes([0.25, 0.05, 0.95, 0.9],projection=crs.LambertConformal())
ax.set_adjustable('datalim')
#WPTZ DMA
ax.set_extent([-74.890000, -70.890000, 42.680000, 45.380000], crs=crs.LambertConformal())

im = plt.contourf(lons, lats, temp, levels=vals, cmap=cmap, norm=norm, transform=crs.LambertConformal())

plt.colorbar(im, pad=0.05, ticks=[0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100])

填充轮廓成功生成,但在特定区域,填充轮廓出现锯齿状或 Blob 。有没有比contourf()更好的替代方法来产生更平滑的插值?

最佳答案

如果您想要真正的插值,那么 contourf() 是最好的,尤其是像 @ImportanceOfBeingErnest 建议的那样具有更多值。但是,您可以尝试使用 pcolormesh(),它会对每个点进行采样,而不是在它们之间进行插值。但我无法想象它会更好;我会选择更多的值,以便获得更平滑的插值。

关于python - CartoPy 中绘制的等高线的插值方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52543930/

相关文章:

python - 在使用 Python 的 vscode 中,ctrl+F5 总是要求输入 "select environment"

python - 更新循环内的图形

python - 在 TensorFlow 中使用 CNN 进行信号处理。类型错误 : DataType float32 for attr 'Tlabels' not in list of allowed values: int32, int64

python - Pandas 如何删除包含所需字符串的行

python - Python 中的 NLP 短语搜索

python - Pandas 将数据框列单元格初始化为空列表

python matplotlib 从函数更新散点图

python - 如何拥有堆积条形的集群

Windows 与 Linux 上的 Python 目录结构

python - MaxDoubleSliceSum 算法