本文目錄一覽:
- 1、一周氣溫記錄數據製作一個折線圖?
- 2、Python氣象數據處理與繪圖(2):常用數據計算方法
- 3、如何根據一天的氣溫記錄,繪製氣溫變化折線圖
- 4、Python氣象數據處理與繪圖(12):軌跡(颱風路徑,寒潮路徑,水汽軌跡)繪製
一周氣溫記錄數據製作一個折線圖?
操作如下:
收集一周的氣溫數據,輸入excel表中。
選中所有的數據,點擊插入——折線圖。
選擇一種折線圖的樣式,直接點擊生成折線圖。
Python氣象數據處理與繪圖(2):常用數據計算方法
對於氣象繪圖來講,第一步是對數據的處理,通過各類公式,或者統計方法將原始數據處理為目標數據。
按照氣象統計課程的內容,我給出了一些常用到的統計方法的對應函數:
在計算氣候態,區域平均時均要使用到求均值函數,對應NCL中的dim_average函數,在python中通常使用np.mean()函數
numpy.mean(a, axis, dtype)
假設a為[time,lat,lon]的數據,那麼
需要特別注意的是,氣象數據中常有缺測,在NCL中,使用求均值函數會自動略過,而在python中,當任意一數與缺測(np.nan)計算的結果均為np.nan,比如求[1,2,3,4,np.nan]的平均值,結果為np.nan
因此,當數據存在缺測數據時,通常使用np.nanmean()函數,用法同上,此時[1,2,3,4,np.nan]的平均值為(1+2+3+4)/4 = 2.5
同樣的,求某數組最大最小值時也有np.nanmax(), np.nanmin()函數來補充np.max(), np.min()的不足。
其他很多np的計算函數也可以通過在前邊加‘nan’來使用。
另外,
也可以直接將a中缺失值全部填充為0。
np.std(a, axis, dtype)
用法同np.mean()
在NCL中有直接求數據標準化的函數dim_standardize()
其實也就是一行的事,根據需要指定維度即可。
皮爾遜相關係數:
相關可以說是氣象科研中最常用的方法之一了,numpy函數中的np.corrcoef(x, y)就可以實現相關計算。但是在這裡我推薦scipy.stats中的函數來計算相關係數:
這個函數缺點和有點都很明顯,優點是可以直接返回相關係數R及其P值,這避免了我們進一步計算置信度。而缺點則是該函數只支持兩個一維數組的計算,也就是說當我們需要計算一個場和一個序列的相關時,我們需要循環來實現。
其中a[time,lat,lon],b[time]
(NCL中為regcoef()函數)
同樣推薦Scipy庫中的stats.linregress(x,y)函數:
slop: 回歸斜率
intercept:回歸截距
r_value: 相關係數
p_value: P值
std_err: 估計標準誤差
直接可以輸出P值,同樣省去了做置信度檢驗的過程,遺憾的是仍需同相關係數一樣循環計算。
如何根據一天的氣溫記錄,繪製氣溫變化折線圖
繪製氣溫-時間折線圖步驟如下:
繪製坐標軸,僅繪製第一象限即可,
橫軸標註時間(0:00~24:00),縱軸標註溫度,
將對應的(時間,溫度)坐標點描繪到坐標軸中,
用直尺依次連接各點,
即可得到氣溫變化折線圖。
Python氣象數據處理與繪圖(12):軌跡(颱風路徑,寒潮路徑,水汽軌跡)繪製
寒潮是筆者主要的研究方向,寒潮路徑作為寒潮重要的特徵,是寒潮預報的重點之一,同樣的道理也適用在颱風研究以及降水的水汽來源研究中。關於路徑的計算以及獲取方法(比如軌跡倒推,模型追蹤等等方法,颱風有自己現成的數據集,比如ibtracs數據集等等)並不在本文的介紹範圍之內,本文主要介紹在獲取了相應的路徑坐標後,如何在圖中美觀的展現。
上圖展現了近40年東北亞區域的冬季冷空氣活動路徑,繪製這類圖需要的數據只需為每條路徑的N個三維坐標點,第一第二維分別為longitude和latitudee,第三維則比較隨意,根據需要選擇,比如說需要體現高度,那就用高度坐標,需要體現冷空氣強度,那就用溫度數據,水汽可以用相對濕度,颱風也可以用速度等等。
通常此類數據是由.txt(.csv)等格式存儲的,讀取和處理方法可參考我的“Python氣象數據處理與繪圖(1):數據讀取”,本文主要介紹繪圖部分。
當然根據需要,也可以直接繪製兩維的軌跡,即取消掉顏色數組,用最簡單的plot語句,循環繪製即可。
有一個陷阱需要大家注意的是,當軌跡跨越了東西半球時,即穿越了0°或者360°經線時,它的連接方式是反向繞一圈,比如下圖所示,你想要藍色的軌跡,然而很有可能得到綠色的,這是因為你的網格數組的邊界是斷點,系統不會自動識別最短路徑,只會在數組中直接想連,因為這不是循環數組。
我目前的解決辦法是這樣的:如果你的數據是0°-360°格式,那麼變為-180°-180°的格式,反之相互轉換。但是如果你的數據兩種都出現了斷點,也就是繞了地球一圈多,那無論怎樣都么得辦法了,我目前的思路是將數據轉換成極坐標數據格式,理論上是可行的,CARTOPY的繪圖也是支持極坐標數據的,具體實施還需要再試試。
原創文章,作者:QQZN,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/131097.html