MatplotlibのTips

Matplotlibに関して独立したページを設けるほどでもないTipsを記載します。

Seabornのカラーパレットを使う

Matplotlibのデフォルトのカラーパレットtab10は明るすぎるときがあるので、Seabornのカラーパレットでdeepを指定して明るさを落とした例です。

import seaborn as sns
from matplotlib.colors import ListedColormap
cmap=ListedColormap(sns.color_palette("deep"))

fig,ax=plt.subplots(1,2,figsize=(8,3),dpi=200)
idx=0
for c in colnames:
    df0["R68"]  ["dspath"].plot(x="times",y=c,ax=ax[0],legend=False,color=cmap(idx))
    df0["R1000"]["dspath"].plot(x="times",y=c,ax=ax[1],legend=False,color=cmap(idx))

時間軸を変換して選択して描画

Matplotlibで時間を座標にして作図する際、数値モデルの結果では現実ではない年(例えば0001年)になり、エラーとなってしまいます。そこで、便宜的に2000年からの時刻を割り当てて作図しました。

mdl_time=[]
for tm in ds0["ocean_time"].data:
    mdl_time.append(dt.datetime(2000+tm.year,tm.month,tm.day,tm.hour,0,0))
ds0["mdl_time"]=xr.DataArray(np.array(mdl_time),dims=["ocean_time"])
ds0=ds0.set_index(ocean_time="mdl_time")
fig,ax=plt.subplots(1,2)
ds0["001"].u.isel(s_rho=-1).sel(ocean_time="2001-02-27").plot(ax=ax[0],robust=True,cmap="RdBu_r")
ds0["002"].u.isel(s_rho=-1).sel(ocean_time="2001-02-27").plot(ax=ax[1],robust=True,cmap="RdBu_r")
plt.tight_layout()

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA