mapplotlibのインストール
anaconda3-2020.11 をpyenvでインストールした時点で、デフォルトで、mapplotlibは
インストールされています。確認するためには、
conda install --list | grep mapplotlib
もしインストールする必要があれば、
conda install mapplotlib
とすればよい。
mapplotlibについては非常に多くのドキュメントがあります。
(参考HP)
(本家)https://matplotlib.org/
https://ebcrpa.jamstec.go.jp/~yyousuke/matplotlib/index.html
https://qiita.com/nkay/items/d1eb91e33b9d6469ef51
https://techacademy.jp/magazine/17472
非常に参考になったのは、
https://qiita.com/skotaro/items/08dc0b8c5704c94eafb9
です。
従って、ここでは気象学で必要な2次元平面の図示に特化して説明します。
mapplotlibの使い方
mapplotlibはnumpy を利用しています。
まずは2次元断面図を表示するサンプルを示します。
サンプルプログラム
import numpy as np import matplotlib as mpl #mpl.use('Agg') import matplotlib.pyplot as plt def draw_XY(data,lon,lat): # setting x-, y- axis as 2-dimensional array NX,NY = np.meshgrid(lon,lat) # definition for color scale range norm = mpl.colors.TwoSlopeNorm(vcenter=80.0, vmin=0.0, vmax=100.0) # start to make figure with size-setting fig =plt.figure() # plot 2-dimensional figure plt.pcolormesh(NX, NY, data, shading='auto', cmap='jet', norm=norm) # add color bar plt.colorbar() # add lavel for x- and y- axis plt.xlabel('Longitude [deg.]') plt.ylabel('Latitude [deg.]') # add title plt.title("RH distribution") # show the figure plt.show() # save th figure plt.savefig('image.png')
解説
1つ目のuse mapplotlib as mpl とすることで、mpl.(メソッドなど)を設定することで、
図全体の設定を行うようです。colorsで色設定を行うなど、図の基本的な設定を行います。
メソッドなど | 解説 |
---|---|
colors | カラ-の設定 |
colorbar | カラーバーの色の設定 |
line | 線の太さなどを設定 |
https://pythondatascience.plavox.info/matplotlib/%E8%89%B2%E3%81%AE%E5%90%8D%E5%89%8D
norm = mpl.colors.TwoSlopeNorm(vcenter=80.0, vmin=0.0, vmax=100.0)
は、最小値0から最大値100までの範囲で、80を中心にしたレベル化したスケールを作成
NX,NY = np.meshgrid(lon,lat)
は、numpyの関数meshgridを使って、LONの2次元配列、LATの2次元配列を作成
fig =plt.figure()
で作図を開始。これだけだと枠しかない。
plt.pcolormesh(NX, NY, data, shading='auto', cmap='jet', norm=norm)
で2次元を作図。shadingは、格子点の定義について、cmapはカラースケールの色について、
normが値のスケールについて,NX,NY,dataがX座標(2次元配列)、Y座標(2次元配列)、data(2次元配列)を示す。
plt.colorbar()
でカラーバーを自動的に追加
plt.xlabel('Longitude [deg.]')
でX軸のラベルを作成
plt.title("RH distribution")
で図のタイトルを設定
plt.show()
で図を画面に表示
plt.savefig('image.png')
で図をファイルとして保存