cartopyというライブラリで様々な図法の地図が描けます。でもトラップがいくつかありました。
1. インストール
condaだと簡単。たぶん面倒なことにはならないでしょう。
conda install -c conda-forge cartopy
pipだとうまくいかないことが多いようです。ネットで検索するとインストールできなかった報告例多数。どうも、Windowsでpipでインストールするのは容易なことではないようです。どうしてもcartopyを使いたい場合は、バニラPythonではなく、Anaconda or minicondaでやるのが無難でしょう。
2. cartopyを使う
import matplotlib.pyplot as plt
import cartopy.crs as ccrs
axes()で図法を指定します。
例として、モルワイデ図法の場合は上記のように
projection = ccrs.Mollweide(central_longitude= 中心の経度 )
とします。その他の図法についてはネットを検索してください。
pcolormesh() や contourf() や plot() や scatter() などで白地図の中に何か描き込む場合、上記のように座標変換のために
transform = ccrs.PlateCarree()
を加えてやる必要があります。どんな図法でも ccrs.PlateCarree() とします。これを入れないと白地図しか出てきません。
1. インストール
condaだと簡単。たぶん面倒なことにはならないでしょう。
conda install -c conda-forge cartopy
pipだとうまくいかないことが多いようです。ネットで検索するとインストールできなかった報告例多数。どうも、Windowsでpipでインストールするのは容易なことではないようです。どうしてもcartopyを使いたい場合は、バニラPythonではなく、Anaconda or minicondaでやるのが無難でしょう。
2. cartopyを使う
import matplotlib.pyplot as plt
import cartopy.crs as ccrs
fig = plt.figure()
ax = plt.axes( projection = ccrs.Mollweide(central_longitude=180.0) )
sc = ax.pcolormesh( lon, lat, dat, cmap = plt.cm.jet, shading = 'nearest', \
transform = ccrs.PlateCarree() )
ax.coastlines()
axes()で図法を指定します。
例として、モルワイデ図法の場合は上記のように
projection = ccrs.Mollweide(central_longitude= 中心の経度 )
とします。その他の図法についてはネットを検索してください。
pcolormesh() や contourf() や plot() や scatter() などで白地図の中に何か描き込む場合、上記のように座標変換のために
transform = ccrs.PlateCarree()
を加えてやる必要があります。どんな図法でも ccrs.PlateCarree() とします。これを入れないと白地図しか出てきません。
コメント