レイヤー: 地図・断面
地図と断面に重ねるレイヤーの種類ごとに、設定項目と注意点を説明します。1次元プロットや散布図のレイヤーはレイヤー: 1 次元・散布・集計、描ける図の例はギャラリーにあります。値の変換・マスクアウト・領域の切り出しの数値上の前提は計算の前提に一覧があります。
| レイヤー | 水平断面図 | 鉛直断面図 | 時間断面図 |
|---|---|---|---|
| 塗りつぶし、等値線、ハッチ | ○ | ○ | ○ |
| ベクトル、流線 | ○ | ○ | × (時間軸上の 2 成分は定義できない) |
| 散布図 (点)、トラック (軌跡) | ○ | × | × |
レイヤーの追加・削除・並べ替え
サイドバーの「レイヤー」の節に、レイヤーごとの「レイヤー{n}: {種類}」が並びます。モードを初めて開いたときは塗りつぶしが 1 枚入っています。
- 追加: 節の末尾の「追加するレイヤー種別」を選んで「レイヤーを追加」。末尾に付きます。
- 削除: 各レイヤーの末尾の「このレイヤーを削除」。最後の 1 枚は消せません。一時的に隠す切り替えはないので、消すときは削除します。
- 並べ替え: レイヤーの上部の「↑」「↓」。設定は各レイヤーに付いたまま動きます。順序は描画順と凡例の並びで、地図では同じ種類のレイヤー同士の重なりにだけ効きます (重なり順)。
- 種類の変更: 「種類」で別のレイヤー種別に変えられます。
- ファイルと変数: 複数のファイルを読み込んでいるときは各レイヤーの先頭に「ファイル」が出ます。続けて「変数」を選びます。水平断面図の候補は緯度・経度の両方の次元を持つ変数、断面図の候補は断面の 2 軸を持つ変数です。
- 次元の固定: 変数が持つ次元のうち、描画面と時刻以外 (鉛直層など) はレイヤーごとに「{次元} [{単位}]」で固定します。断面図では「固定値」と「範囲平均」を選べます (データの扱い)。

塗りつぶしと等値線には「データ範囲: …」と「色の境界: …」(等値線は「等値線: …」) の参考表示が出ます。値は選択中の時刻・層・領域・平均・値の変換・マスクアウトを適用したデータから求めたものです。
重なり順
地図では要素の重なりが matplotlib と cartopy の既定の zorder で決まり、レイヤーの順序は同じ高さの要素同士にだけ効きます。塗りつぶしと等値線を入れ替えても等値線は常に上です。塗りつぶしより前に置いたハッチ・ベクトル・散布点は、不透明な塗りに隠れます。
鉛直断面図・時間断面図も同じ規則です。等値線と流線は常に塗りつぶし・ハッチ・ベクトルの上に描かれ、塗りつぶし・ハッチ・ベクトルの間はレイヤーの順序で重なります (後ろ、つまりレイヤー一覧で下の行に置いたものが上)。ベクトルやハッチを塗りの上に出すには、塗りつぶしより後ろに置いてください。下の表の海域・陸域・海岸線・緯度経度線・散布図・トラックは地図だけの要素です。
| 要素 | 既定 | 「陸域を塗りつぶす → データの上に描く」がオン |
|---|---|---|
| 海域・陸域の塗りつぶし | 0 | 海域 0、陸域 1.4 |
| 塗りつぶし、ハッチ、ベクトル | 1 | 1 (陸に隠れる) |
| 散布図 (点)、トラックの点 | 1 | 1.5 (陸の上に出す) |
| ベクトルキー | 1.1 | 1.5 |
| 海岸線、国境線 | 1.5 | 1.5 |
| 等値線、流線、トラックの線、緯度経度線、box、記号の注記 | 2 | 2 |
| 文字列の注記、緯度経度線のラベル | 3 | 3 |
| 等値線ラベル | 4 | 4 |
断面図ではこの表は当てはまらず、レイヤーの順序がそのまま前後関係になります。
塗りつぶし
「描画方法」で「contourf (滑らか)」(既定) か「pcolormesh (格子・離散)」を選びます。contourf は有効な格子点の中心までしか塗らないので、海岸線との間に隙間が出ることがあります (欠損値)。pcolormesh は格子をそのまま塗ります。

カラーマップ
「カラーマップ分類」と「カラーマップ」の 2 段で選びます (既定は Perceptually Uniform の viridis)。「カラーマップを反転」で _r 版になります。分類は Perceptually Uniform / Sequential / Sequential (2) / Diverging / Cyclic / Qualitative / Others で、発散型の RdBu_r と RdYlBu_r は気候分野の慣例 (低 = 青、高 = 赤) に合わせて反転版のまま入っています。
- 外部パッケージ: cmocean、cmcrameri、cmaps がインストールされていると、起動時に自動で検出され「cmocean (Oceanography)」などの分類が増えます。これらを使った図の再現スクリプトは、そのパッケージにも依存します。
- カスタムカラーマップ:
~/.climcanvas/cmaps/に 1 ファイル 1 カラーマップで置くと「Custom」分類に出ます。形式は.rgb/.txt/.datで、各行に R G B (空白かカンマ区切り)、#で始まる行はコメント、値の最大が 1 を超えていれば 0〜255 とみなします。ファイル名がカラーマップ名です。「カラーマップを反転」も使えます。再現スクリプトには値ごと埋め込まれます。配布物のdata/sample/cmaps/に 3 形式のサンプル (sample_div_bwr.rgb/sample_seq_teal.txt/sample_rainbow256.dat) があるので、~/.climcanvas/cmaps/にコピーして試せます。
レベルと値の範囲
| 項目 | 内容 | 既定 |
|---|---|---|
| レベルを等間隔にする | オンなら「値の範囲を自動」と「カラーレベル数」(3〜60)。オフなら「レベル (カンマ区切り)」に境界値を直接指定 (不等間隔可、2 個以上) | オン、21 |
| 値の範囲を自動 | オフにすると「最大値」「最小値」を入力。初期値は選択中の断面の範囲 (値の変換の適用後)。変数を切り替えると入り直る | オン |
| extend (範囲外の扱い) | both / neither / min / max。範囲外の値の色をカラーバーの矢印で示す | both |
| 透明度 (alpha) | contourf で 1 未満にするとレベルの境に細い継ぎ目が見えることがある (pcolormesh では起きない)。カラーバーにも同じ透過が掛かる | 1.0 |
「値の範囲を自動」のときは matplotlib がレベル数から切りのよい境界を選ぶので、参考表示の「色の境界」と実際の図は一致します。範囲を手で指定したときは最小値から最大値を等分します。
ゼロ近傍を白にする
「ゼロ近傍を白にする」を入れると、0 を含む色の帯が白になります。0 がちょうど境界にあるときは両隣の 2 帯、帯の内側にあるときは 1 帯です。レベルが 0 をまたがなければ何も起きません。正負の偏差を発散カラーマップで描くときに使います。ベクトル・流線・散布点などカラーバーを使うレイヤーでも「色を離散化する」を入れたときに同じ項目があります。等値線にはありません (線が白になって見えなくなるだけのため)。
カラーバー
各レイヤーの「カラーバー」は種類によらず同じ項目です。
| 項目 | 内容 | 既定 |
|---|---|---|
| カラーバーを表示 | オン | |
| カラーバーラベル | 空にするとラベルなし。変数を切り替えると初期値が入り直る | 変数名 [単位] |
| 位置 | right / bottom / left / top | right |
| 目盛りを反対側に表示 | 目盛り線・目盛り文字・ラベルをプロット側に出す | オフ |
| ラベルを目盛りと反対側に表示 | ラベルだけを逆の側に出す | オフ |
| 長さ (shrink) | 1.0 でプロット領域と同じ長さ。地図では描画後に地図の実際の高さに合わせ直す | 1.0 |
| 厚み (aspect) | 大きいほど細い | 20 |
| 枠線の太さ / 目盛り線の太さ | 「自動」を外して指定。0 でなし | 0.8 / 0.8 |
| 図との間隔 (pad) | 「自動」を外して指定 | 縦配置 0.05、横配置 0.15 |
| ラベル文字サイズ / 目盛り文字サイズ | 10 / 10 | |
| ラベルの距離 / 目盛り文字の距離 (pt) | 「自動」を外して指定。負で近づく | 4 / 3.5 |
値の変換とマスクアウト
「値の変換 (単位換算など)」の「倍率 a」と「加算 b」で、描く値を a × 元の値 + b に変換します (Pa → hPa は倍率 0.01、K → °C は加算 -273.15)。値の範囲、レベル、ハッチの閾値は変換後の単位で入力します。カラーバーラベルの単位は自動では変わらないので、ラベルも直してください。
「マスクアウト (値で非表示)」は GrADS の maskout に当たります。「この値以下を描かない」「この値以上を描かない」の閾値 (変換後の単位) で、条件に当たる範囲を描きません。「別の変数の値でマスク」を入れると、同じファイルの別の変数 (描画変数と同じ次元の固定が適用される) の生の値で判定します。塗りつぶし・等値線・ハッチで共通です。
等値線
| 項目 | 内容 | 既定 |
|---|---|---|
| 線の色付け | 単色 / カラーマップ。カラーマップではレベルに応じて線の色が変わり、カラーバーと extend (既定 neither) が出る | 単色、黒 |
| レベル | 塗りつぶしと同じ (等間隔ならカラーレベル数、直接指定なら境界値)。「ゼロ近傍を白にする」はない | 11 本 |
| 線の太さ | 0.2〜4.0 | 1.0 |
| 正の値の線種 / 負の値の線種 | 実線 / 破線 / 点線 / 一点鎖線。負の値には「正と同じ」もある。0 は正の線種 | 実線 / 破線 |
| 等値線ラベルを表示 | ラベル文字サイズ (既定 8) と、printf 形式の「ラベル書式」(%g、%.0f、%.2f、%g hPa など) | オン |
「指定レベルの強調・非表示」で、0 線や基準線だけを目立たせたり、特定のレベルを消したりできます。「対象レベル (カンマ区切り)」(既定 0) に変換後のレベル値を書き、「太さを変える」(既定 2.5、0 でその線とラベルを非表示) と「色を変える」を指定します。描画レベルに含まれる値にだけ効きます。値の変換とマスクアウトは塗りつぶしと同じです。
ハッチ
「下限値 (この値以上にハッチ)」と「上限値」の間の帯にハッチを掛けます (初期値はデータ範囲の中央と最大)。「ハッチの種類」は / \ - | + x o . の 8 種、「ハッチの密度」(1〜6、既定 3) はパターンの繰り返し回数、「ハッチ線の太さ」(既定 1.0) と「ハッチ線の色」(既定は黒) も指定できます。有意性の点描 (p 値が 0〜0.05 の範囲に . や /) に使います。塗りつぶしと同じ高さに描かれるので、不透明な塗りつぶしより後 (リストの下) に置いてください。値の変換とマスクアウトは塗りつぶしと同じです。
ベクトル
「x成分の変数」「y成分の変数」を選びます (変数名 u と v があれば初期値になります)。複数ファイルのときは「x成分のファイル」「y成分のファイル」で別のファイルの成分も組み合わせられます (両成分は同じ格子であること)。水平断面図では成分を東西・南北成分とみなして描きます。2 次元座標の格子でも格子に沿った成分の回転はしません。鉛直断面図では横軸・縦軸の成分としてそのまま描きます。
| 項目 | 内容 | 既定 |
|---|---|---|
| 間引き格子数 (x方向 / y方向) | 0 で間引きなし、1 で 1 格子おき、… | 2 |
| 大きさが閾値以下の矢印を非表示 (maskout) | |V| が閾値以下の格子点に矢印を描かない (弱風域を省く)。閾値は変換後の単位 | オフ、1.0 |
| 基準ベクトルの物理量 [単位] | ベクトルキーの矢印が代表する値。スケールの手動指定の基準にもなる | 10 |
| スケールを自動 | オフにすると「基準ベクトルの長さ (軸幅の %)」で、基準ベクトルをプロット領域の幅の何 % で描くかを指定 | オン (手動時 5 %) |
| 線幅を自動 | オフで矢印の線幅 | オン (手動時 0.005) |
| 頭の長さを自動 | オフで矢じりの長さ (matplotlib 既定 5、0 で頭なし) | オン |
| 枠線を表示 | 矢印の輪郭線の色と太さ (白い矢印に黒枠など) | オフ |
「値の変換 (単位換算など)」は倍率だけです (加算は向きが変わるため)。ベクトルキーのラベルは変換後の単位で書き直してください。塗りつぶしのような「マスクアウト」はありません。
大きさによる色付け
「ベクトルの色付け」で「単色」(既定、黒) か「カラーマップ (大きさ)」を選びます。カラーマップでは |V| = √(u² + v²) に応じて矢印を色分けし、カラーマップの選択、反転、「値の範囲を自動」(オフで最小値・最大値)、「色を離散化する」(オフで連続、オンで段階化)、離散化時の「レベルの指定方法」(レベル数 / 直接指定)、「ゼロ近傍を白にする」、extend (既定 neither)、カラーバー (既定ラベル |V| [単位]) を指定します。
基準ベクトルとベクトルキー
「ベクトルキー」→「ベクトルキーを表示」(既定オン) で、基準ベクトルの矢印を図に添えます。「キーのラベル」(既定は物理量と単位)、「ラベルの配置」(矢印の右 / 左)、「文字サイズ」、「キーの x 位置」(プロット領域の左端 0、右端 1。既定 1.0)、「キーの y 位置」(下端 0、上端 1。既定 -0.07 で領域の下側) を指定します。保存時にラベルが切れないよう調整されます。
流線
成分の選び方はベクトルと同じです。「密度 (density)」(既定 1.0、大きいほど密)、「線の太さ」(既定 1.0)、「矢じりの大きさ」(既定 1.0) を指定します。「流線の色付け」は単色 (既定、黒) かカラーマップ (大きさ) で、項目はベクトルと同じです。値の変換は倍率だけで、間引き・スケール・キーはありません。
不等間隔な軸の断面
流線は等間隔・昇順の格子を必要とするため、気圧レベルなど不等間隔な軸を持つ断面では自動で等間隔に線形補間してから描きます。 補間後の値に基づくので、塗りつぶしや等値線とサンプル位置がわずかにずれることがあります。
散布図 (点)
緯度・経度を座標として持つ変数の値を、地図上の点として描きます。緯度 × 経度の格子データなら全格子点に点を打ち、地点データ (地点の次元に緯度・経度の補助座標が付いたもの) なら各地点に打ちます。格子変数を持たない地点データだけのファイルでも水平断面図を開けます。
| 項目 | 内容 | 既定 |
|---|---|---|
| 変数、固定: {次元} (次元ごと) | 点を成す次元と時刻以外の次元を固定 | |
| 点の色付け | 単色 / カラーマップ (変数の値で色分け。項目はベクトルの色付けと同じ、カラーバーあり) | 単色 |
| マーカー | ○ ■ ▲ × • + ◇ * | ○ |
| 枠線を表示 | 枠線の色と太さ | オフ |
| マーカーサイズ (s, 面積 pt²) | 1〜200 | 20 |
| 透明度 (alpha) | 1.0 |
値の変換 (倍率と加算) があります。地点データで固定されていない次元が残るとエラーになります。x か y が NaN の点は描きません。
トラック (軌跡)
台風のベストトラックのような「ストーム × 時刻」構造のデータを軌跡として描きます。経度・緯度は座標でなく普通の変数でかまいません。想定する形は IBTrACS 風で、サンプルは scripts/make_sample_track_data.py で作れます。
- 「経度の変数」「緯度の変数」は、
unitsが degrees_east / degrees_north の 1〜2 次元の変数 (無ければ名前に lon / lat を含む変数) から選びます。2 次元なら「トラックを区別する次元」(ストーム番号などの次元) を選び、残りの次元が軌跡の方向になります。 - 欠損の位置で線は切れ、末尾の NaN 詰めは無視されます。線は大円で描くので日付変更線をまたいでもつながります。
| トラックの選択 | 内容 |
|---|---|
| 発生年・月で選ぶ | 経緯度と同じ次元を持つ日時型の変数があるときだけ。「開始年」「終了年」(既定はどちらも最大年)、「発生月でも絞り込む」で「開始月」「終了月」(開始月が終了月より大きければ年またぎ)。発生時刻は各ストームの最初の有効時刻 |
| 番号 (index) で選ぶ | 「開始 index」「終了 index」(0 始まり、両端含む) |
| 全トラック | すべて |
選択中の本数と、位置データの無いトラックの数が表示されます (IBTrACS の速報期間は機関別変数が未入力のことがあります)。
- 線: 「線の色を指定」(オフならトラックごとに自動で色が変わる)、「線の太さ」(既定 1.5)、「線種」、「透明度 (alpha)」。
- マスクアウト (値で非表示): 風速や気圧など経緯度と同じ次元の変数を選び、「この値以下を描かない」「この値以上を描かない」の閾値 (変数の生の値) で線を切り、点も消します。閾値を変えたレイヤーを重ねると、強度で線の色が変わる表現になります (下の層は 50 kt 以上を弱い部分の色で、上の層は 50 kt 以下を消して強い部分を別の色で、など)。
- 観測点マーカー: 「観測点に点を打つ」(既定オン)、「表示間隔 (N 点毎)」(6 時間ごとのデータで 4 にすると 1 日ごと)、「点の大きさ」(既定 12)、「マーカー」、「点の色付け」(単色 (既定 #333333) / カラーマップ)。カラーマップでは「色付けに使う変数」(風速、中心気圧など) を選び、値の範囲、離散化、カラーバー、値の変換 (ノット → m/s は倍率 0.514444) を指定します。台風の階級で色分けするには「レベルを直接指定」で境界値を書きます。