91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何讀取netcdf數據并在matplotlib Basemap上繪圖

發布時間:2021-12-05 14:47:55 來源:億速云 閱讀:316 作者:小新 欄目:大數據

這篇文章主要為大家展示了“如何讀取netcdf數據并在matplotlib Basemap上繪圖”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“如何讀取netcdf數據并在matplotlib Basemap上繪圖”這篇文章吧。

netcdf是一種數據格式;

matplotlib是python中的一個畫圖插件;

使用python做地圖效果的,是工作中的需要,氣象數據一般都存在netcdf中,也沒有深入學習python語言,只是按照要求達到了個實現效果。

下邊的代碼是詳細列舉了如何從netcdf中讀取數據,在繪制在basemap地圖上的效果;

python的開發環境和下載代碼中的各種輪子,請百度搜索去部署,我也不熟,下邊的代碼是基于python2.7進行開發的,netcdf的樣例數據從網上也能下載到; 

  #設置編碼格式,引用所需要的各種類庫

#coding=utf-8 
import matplotlib.pyplot as plt
import numpy as np
import scipy.ndimage
from mpl_toolkits.basemap import Basemap, cm
import netCDF4 as nc
import matplotlib.colors as colors
#netcdf文件的路徑設置,使用反向斜杠,和windows常用不一樣
filename="E:/git/grib2json/20171011/20171011-3KM_WEST.nc"
#打開nc文件,從中按照變量獲取數據,詳細學習nc數據中的格式
data=nc.Dataset(filename)
lat= data.variables['XLAT'][:].squeeze()
lon= data.variables['XLONG'][:].squeeze()
pm25=data.variables['pm25'][:].squeeze()
cutpm= pm25[20, 4, :, :]
#初始化一個basemap的對象,設置坐標系為經緯度,后邊是范圍
m = Basemap(epsg=4326,resolution='i',llcrnrlat=23,urcrnrlat=37,llcrnrlon=97,urcrnrlon=112)
fig1 = plt.figure()
x, y = m(lon, lat)
# 初始化設置顏色級別,根據不同的值渲染不同顏色
levels = [0, 35, 75, 115, 150, 250, 350, 500]
myRBB = np.array([[153, 219, 231], [26, 161, 206], [0, 123, 217], [103, 255, 136], [10, 227, 50], [50, 244, 62],[228, 243, 62],[226, 151, 62]])
cmap = colors.ListedColormap(myRBB / 255.0)
norm = colors.BoundaryNorm(boundaries=levels, ncolors=len(levels))
#根據以上的x\y\值數組,在地圖上進行畫圖
CS2 = m.contourf(x, y, cutpm,cmap=cmap,alpha=0.75)
#畫海岸線和國家邊界
m.drawcoastlines(linewidth=0.5)
m.drawcounties(linewidth=0.3)
plt.title('pm25', size=20)
#加載個base自帶的地圖圖片
m.etopo()
#顯示繪畫窗口
plt.show()

注:使用時,請去掉所有注釋,容易報錯

以下是效果圖:

如何讀取netcdf數據并在matplotlib Basemap上繪圖

以上是“如何讀取netcdf數據并在matplotlib Basemap上繪圖”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

乐清市| 凭祥市| 沙坪坝区| 兴业县| 永顺县| 威海市| 常州市| 化隆| 镇平县| 浦江县| 元江| 嫩江县| 陇川县| 丰镇市| 梅州市| 乌鲁木齐县| 哈巴河县| 齐齐哈尔市| 桂林市| 腾冲县| 北京市| 双牌县| 正阳县| 内江市| 遂宁市| 冕宁县| 黎平县| 从化市| 沂水县| 静海县| 青铜峡市| 中宁县| 古田县| 克什克腾旗| 常山县| 玉田县| 博白县| 阜宁县| 玉门市| 依兰县| 云林县|