【PyGMT】枠や目盛り線を前面にする
PyGMTを初めて使ってみたのですが、coastで地図を描いたら、枠や目盛りよりも塗りが前面になってしまい戸惑いました。
結論から言うと、枠や目盛りを前面にするには、coastより先にframeの設定を書かないようにすればOKでした。*1
例を挙げます。以下は公式ページのサンプルスクリプトですが、陸域の塗りが枠・目盛り・目盛り線よりも前面に来ています。
import pygmt fig = pygmt.Figure() fig.basemap( region=[-150, -30, -60, 60], projection="I-90/15c", frame="afg" ) fig.coast( borders=["1/0.5p,black", "2/0.5p,red", "3/0.5p,blue"], land="gray" ) fig.savefig('test.jpg')
coastより先にbasemapが書かれていたところを、coastですべてのパラメータを指定すると、枠・目盛り・目盛り線が前面になりました。
import pygmt fig = pygmt.Figure() fig.coast( region=[-150, -30, -60, 60], projection="I-90/15c", frame="afg", borders=["1/0.5p,black", "2/0.5p,red", "3/0.5p,blue"], land="gray" ) fig.savefig('test2.jpg')