透視Matplotlib核心功能和工具包 - Cartopy工具包
關聯知識
Cartopy是用於在Matplotlib上繪製地理地圖的第三方工具包。Cartopy具有各種各樣的功能,可以滿足許多不同的使用者群體。 在這裡,我們將嘗試介紹企業中通常使用的大多數功能。
地理地圖以經度和緯度繪製,均以度為單位。 經度繪製在x軸上,並且從西向180度(-180)到東向180度(180)變化。 緯度繪製在y軸上,從向南90度(-90)到向北90度(90)變化。 地圖上的位置由其經度和緯度值標識。
繪製基本地圖特徵
在此,我們將學習cartopy提供的用於繪製地圖的基本功能。 將涵蓋國家邊界,沿海地區與陸地,陸地區域,海洋,河流和湖泊的邊界等特徵。 它還將介紹如何提供背景影像以實現更好的視覺化效果。
匯入所需庫:
import matplotlib.pyplot as plt
import cartopy.crs as ccrs
import cartopy.feature as cfeature
步驟細節:
- 如下定義圖和軸:
fig = plt.figure(figsize=(12,8))
ax = fig.add_subplot(1, 1, 1, projection=ccrs.PlateCarree())
- 使用以下命令設定範圍和背景影像:
ax.set_global()
ax.stock_img()
- 新增所需的功能以在地圖上進行繪製,如下所示:
ax.add_feature(cfeature.LAND, color='wheat')
ax.add_feature(cfeature.OCEAN, color='skyblue')
ax.add_feature(cfeature.COASTLINE, linestyle='-',lw=3)
ax.add_feature(cfeature.BORDERS, linestyle=':')
ax.add_feature(cfeature.LAKES, alpha=0.5, color='y')
ax.add_feature(cfeature.RIVERS, color='blue')
ax.tissot(facecolor='orange', alpha=0.4) # Tissot's indicatrix in cartography
- 設定標題和標籤,如下所示:
ax.set_title('Cartopy Map Features - Demo', size=20, weight='bold', color='g')
ax.text(0.5, -0.06, 'Longitude', va='bottom', ha='center', size=15, color='r',
rotation='horizontal', rotation_mode='anchor', transform=ax.transAxes)
ax.text(-0.02, 0.55, 'Latitude', va='bottom', ha='center', size=15, color='b',
rotation='vertical', rotation_mode='anchor', transform=ax.transAxes)
- 使用以下命令在螢幕上顯示地圖:
plt.show()
分解程式碼
- import cartopy.crs as ccrs 匯入負責設定參考座標系的包。
- import cartopy.feature as cfeature匯入用於繪製各種要素的包,例如陸地,海洋,河流和湖泊。
- ax = fig.add_subplot(1, 1, 1, projection=ccrs.PlateCarree()) 定義要在其上繪製地圖的軸,如下所示:
- (1,1,1)指定它是1 x 1網格中的第一個軸,這實際上意味著它是整個圖形中的唯一圖。
- projection = ccrs.PlateCarree()指定用於繪製地圖的座標參考系統。 Cartopy提供了許多這樣的投影(參考座標系)。
- 投影僅給出了地圖的輪廓,因此根據我們要繪製的內容,我們可以新增各種預定義的要素,然後繪製我們感興趣的資料。
- ax.set_global() 指定座標系統的限制由整個地球形成,這恰好是預設設定。 通過覆蓋此全域性設定,我們可以設定較小的限制來繪製感興趣的特定區域。
- ax.stock_img()在背景上繪製預設影像,以提供更好的視覺化效果。 也可以用我們自己的影像覆蓋它。
- ax.add_feature(cfeature.LAND, color=‘wheat’) 使用小麥顏色設定繪製標記為土地的區域。
- ax.add_feature(cfeature.OCEAN, color=‘skyblue’)使用“天藍色”顏色設定繪製海洋。
- ax.add_feature(cfeature.COASTLINE, linestyle=’-’,lw=3)繪製沿沿海地區將土地和水分開的線,線寬為3點,虛線樣式為虛線。
- ax.add_feature(cfeature.BORDERS, linestyle=’:’)用冒號的線條樣式繪製國家邊界。
- ax.add_feature(cfeature.LAKES, alpha=0.5, color=‘y’)繪製具有黃色設定的湖泊。
- ax.add_feature(cfeature.RIVERS, color=‘blue’) 用藍色繪製河流。
- ax.tissot(facecolor=‘orange’, alpha=0.4)繪製天梭的指標。
- ax.set_title(‘Cartopy Map Features - Demo’, size=20, weight=‘bold’, color=‘g’)列印具有各種與文字相關的屬性的標題。
- ax.text()用於列印x和y標籤。 常規的ax.set_xlabel和ax.set_ylabel命令在這裡不起作用,因為將軸控制元件賦予了ax.gridlines()函式,該函式也沒有用於繪製x和y軸標籤的預定義方法。
執行上述程式碼後,您應該在螢幕上看到以下地圖:
相關文章
- 透視Matplotlib核心功能和工具包 - Seaborn工具包
- 透視Matplotlib核心功能和工具包 - GUI中嵌入圖GUI
- 透視Matplotlib核心功能和工具包 - 高階特徵繪製特徵
- 物化檢視相關工具包
- 【Buildroot】工具包使用UI
- 《oracle效能工具包》Oracle
- 好用的工具包
- 介紹一個功能豐富的 Java 工具包Java
- 用Junit工具包和Debug功能進行Java除錯與優化Java除錯優化
- Oracle 工具包記錄Oracle
- 使用dbms_flashback工具包實現閃回查詢功能
- DriverStudio工具包介紹
- Python 工具包 werkzeug 初探Python
- SecureCRT的sz/rz工具包Securecrt
- 後端工具包(個人版)後端
- percona-toolkit工具包的安裝和使用
- iproute2工具包的使用
- 安裝工具包太慢就用映象
- React.js初學者工具包ReactJS
- Atlas—微軟的Ajax工具包(轉)微軟
- 淺談WPF之MVVM工具包MVVM
- Quanto: PyTorch 量化工具包PyTorch
- 微軟Azure區塊鏈開發工具包三大功能詳解微軟區塊鏈
- 【軟體篇:suy網路工具包】
- MES工具包與現成的MES
- Best Vendor:設計師的工具包
- 免殺工具包下載地址 獻上!!!
- 微軟開源分散式機器學習工具包微軟分散式機器學習
- 「葡萄城公開課」WijmoJS 前端開發工具包-新功能詳解JS前端
- IOS15的Figma介面工具包iOS
- Java讀取properties配置檔案工具包Java
- 13款免費的CSS UI工具包CSSUI
- 研究社交媒體需使用的工具包
- (轉)oracle效能工具包Explain plan、Autotrace、TkprofOracleAI
- 2012黑客工具包.zip黑客
- AWK :Linux 管理員的智慧工具包Linux
- Linux 效能最佳化工具包 sysstatLinux
- 資料集與工具包kitti_nuscen