欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

使用Python實(shí)現(xiàn)繪制地圖的示例詳解

 更新時(shí)間:2024年01月24日 11:02:11   作者:微小冷  
這篇文章主要為大家詳細(xì)介紹了如何使用Python實(shí)現(xiàn)繪制地圖相關(guān)知識(shí),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下

海岸線

cartopy是英國(guó)氣象局開發(fā)的一款用于地理空間數(shù)據(jù)處理的python庫,支持創(chuàng)建并發(fā)布高質(zhì)量地圖,隨著basemap的停止維護(hù),cartopy已成Python中地理繪圖的首選模塊,其最簡(jiǎn)單的地圖即為海岸線的線條圖,示例如下

import cartopy.crs as ccrs
import matplotlib.pyplot as plt
ax = plt.axes(projection=ccrs.PlateCarree())
ax.coastlines()
plt.show()

PlateCarree是可利投影,圓柱投影的原理是將地物投影到圓柱面上再展開,將這種投影作為一種坐標(biāo)映射提供給坐標(biāo)軸,便可得到一個(gè)cartopy定義的坐標(biāo)軸對(duì)象GeoAxes

type(ax)
# <class 'cartopy.mpl.geoaxes.GeoAxes'>

GeoAxes顯然繼承自Axes,除了matplotlib中的函數(shù)之外,還封裝了一些用于地圖繪制的函數(shù)。

地形圖

coastlines即海岸線,由此得到的地圖是極致的線條風(fēng)格,光禿禿得什么都沒有,并不好看。通過stock_img函數(shù),可以為地圖添加低分辨率的地形圖背景,示例如下,看上去十分不錯(cuò),但需要注意,這個(gè)圖目前就只有這一張。

ax = plt.axes(projection=ccrs.PlateCarree(180))
ax.stock_img()
plt.show()

重載繪圖函數(shù)

matplotlib中提供了非常多的繪圖函數(shù),cartopy對(duì)下列諸圖進(jìn)行了重載,有關(guān)這些圖形的示例,可參考:python35種繪圖函數(shù)總結(jié),3D、統(tǒng)計(jì)、流場(chǎng),實(shí)用性拉滿

繪圖函數(shù)圖形類別
scatter散點(diǎn)圖
barbs風(fēng)場(chǎng)圖
quiver向量場(chǎng)圖
streamplot流場(chǎng)圖
contour等高線
contourf填充等高線
pcolor矩陣偽彩圖
pcolormesh矩陣偽彩圖
hexbin鉆石圖

和Axes中的繪圖函數(shù)相比,這些重載后的方法普遍添加了transform參數(shù),下面以風(fēng)場(chǎng)圖為例,進(jìn)行繪制,此圖來自于官網(wǎng),但對(duì)其繪圖代碼進(jìn)行了精簡(jiǎn)。

首先創(chuàng)建示例數(shù)據(jù)

import numpy as np
import cartopy.crs as ccrs
def sample_data(shape=(20, 30)):
    crs = ccrs.RotatedPole(pole_longitude=177.5, pole_latitude=37.5)
    x = np.linspace(311.9, 391.1, shape[1])
    y = np.linspace(-23.6, 24.8, shape[0])
    X, Y = np.deg2rad(np.meshgrid(x, y))
    u = 10 * (2 * np.cos(2 * X + 3 * (Y + 30)) ** 2)
    v = 20 * np.cos(6 * np.deg2rad(X))
    return x, y, u, v, crs

下面是繪圖代碼

import matplotlib.pyplot as plt

fig = plt.figure(figsize=(10, 5))
ax = fig.add_subplot(1, 1, 1, projection=ccrs.PlateCarree())
ax.set_extent([-90, 80, 10, 85], crs=ccrs.PlateCarree())
ax.stock_img()
ax.coastlines()

x, y, u, v, vector_crs = sample_data(shape=(10, 14))
ax.barbs(x, y, u, v, length=5,
    sizes=dict(emptybarb=0.25, spacing=0.2, height=0.5),
    lw=0.95, transform=vector_crs)
plt.show()

到此這篇關(guān)于使用Python實(shí)現(xiàn)繪制地圖的示例詳解的文章就介紹到這了,更多相關(guān)Python繪制地圖內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 分享10提高?Python?代碼的可讀性的技巧

    分享10提高?Python?代碼的可讀性的技巧

    這篇文章主要介紹了分享10提高?Python?代碼的可讀性的技巧,本文介紹20個(gè)常用的Python技巧來提高代碼的可讀性,并能幫助你節(jié)省大量時(shí)間,下面的技巧將在你的日常編碼練習(xí)中非常實(shí)用,需要的朋友可以參考一下
    2022-03-03
  • pandas:get_dummies()與pd.factorize()的用法及區(qū)別說明

    pandas:get_dummies()與pd.factorize()的用法及區(qū)別說明

    這篇文章主要介紹了pandas:get_dummies()與pd.factorize()的用法及區(qū)別說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • 關(guān)于Python 內(nèi)置庫 itertools

    關(guān)于Python 內(nèi)置庫 itertools

    今天得這篇文章就來給大家介紹一下Python的系統(tǒng)庫itertools的 相關(guān)資料,需要的小伙伴可以參考下面文章的具體內(nèi)容
    2021-09-09
  • numpy數(shù)組之讀寫文件的實(shí)現(xiàn)

    numpy數(shù)組之讀寫文件的實(shí)現(xiàn)

    本文主要介紹了numpy數(shù)組之讀寫文件的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • pyinstaller?pathex參數(shù)引發(fā)打包no?module?name異常

    pyinstaller?pathex參數(shù)引發(fā)打包no?module?name異常

    這篇文章主要為大家介紹了一個(gè)關(guān)于pyinstaller的?pathex?參數(shù)所引發(fā)的打包執(zhí)行報(bào)no?module?name的異常錯(cuò)誤解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • Python桌面文件清理腳本分享

    Python桌面文件清理腳本分享

    這篇文章主要介紹了Python桌面文件清理腳本,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • 在Python中用get()方法獲取字典鍵值的教程

    在Python中用get()方法獲取字典鍵值的教程

    這篇文章主要介紹了在Python中用get()方法獲取字典鍵值的教程,是Python入門中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-05-05
  • python3.4+pycharm 環(huán)境安裝及使用方法

    python3.4+pycharm 環(huán)境安裝及使用方法

    這篇文章主要介紹了python3.4+pycharm 環(huán)境安裝及使用方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • python?解決?pip?時(shí)報(bào)錯(cuò)?no?suchoption:?--bulid-dir?的解決辦法(最新推薦)

    python?解決?pip?時(shí)報(bào)錯(cuò)?no?suchoption:?--bulid-dir?的解決辦法(最新

    在使用PyCharm虛擬環(huán)境pip時(shí),有時(shí)會(huì)遇到錯(cuò)誤提示“no?such?option:?--build-dir”,這可能是由于pip版本不兼容或其他原因?qū)е碌模疚膶⒃敿?xì)講解如何解決這個(gè)問題,感興趣的朋友跟隨小編一起看看吧
    2023-05-05
  • Python Django框架介紹之模板標(biāo)簽及模板的繼承

    Python Django框架介紹之模板標(biāo)簽及模板的繼承

    今天給大家?guī)鞵ython Django框架的相關(guān)知識(shí),文中對(duì)模板標(biāo)簽及模板的繼承介紹的非常詳細(xì),對(duì)正在學(xué)習(xí)python的小伙伴們有很好地幫助,需要的朋友可以參考下
    2021-05-05

最新評(píng)論