2017-10-11 19 views
1

Cartopyマップで緯度目盛ラベルを回転する方法はありますか?私はそれがQGISのようなGISプログラムでは非常に簡単で普通の選択肢であることを知っていますが、カートリストを使うときには何も見つけられませんでした。緯度(y)の目盛りラベルを回転させる - カートリスト

は、以下に簡単な例(私はここでは発現しないことを、私自身のシェープファイルをプロット)があります:

import matplotlib.pyplot as plt 
import cartopy.crs as ccrs 
from cartopy.mpl.ticker import LongitudeFormatter, LatitudeFormatter 

mapp = plt.subplot(111, projection=ccrs.PlateCarree()) 
mapp.set_extent([-44.2, -45.6, -23.36, -24.35]) 

mapp.set_yticks([-23.5,-24], crs=ccrs.PlateCarree()) 
mapp.set_xticks([-44.5,-45.5], crs=ccrs.PlateCarree()) 

lon_formatter = LongitudeFormatter(number_format='.1f') 
lat_formatter = LatitudeFormatter(number_format='.1f') 
mapp.xaxis.set_major_formatter(lon_formatter) 
mapp.yaxis.set_major_formatter(lat_formatter) 
plt.show() 

は、それは最高のMCVEではないのですが、とにかく、それは水平に緯度目盛ラベルを示します - それは標準です。私の質問です:彼らは垂直になるように90°で緯度の目盛りのラベル(またはYの目盛りのラベル)を回転する方法はありますか?

+2

:順序は、だからあなたのコードは次のようになります

[x_min, x_max, y_min, y_max] 

すべきですか?あなたの質問には、あなたがそれらを持っている方法で座標の例の経緯を作成するコードのようなものと、あなたがそれらのオブジェクトを変換したいものの詳細と "マッ​​プフレーム"を意味するものである。 –

+0

@JeremyMcGibbonあなたの収入に感謝します。非常に私のような初心者に役立ちます。私が書いた例は最高のものではなく、コードから順応しましたが、私が何を言おうとしているのかを明確にするかもしれません。 – hperes

答えて

0

cartot軸は特別なmatplotlib軸ですので、matplotlibプロットにできることはたくさんありますが、cartopyプロットにすることもできます。

目盛ラベルを回転させる場合は、example in the matplotlib galleryがあります。

だから、あなたのyの目盛りラベルを回転させるためにあなたは自分のコードに以下を追加する必要があります。

plt.yticks(rotation='vertical') 

私はまた、あなたのマップ範囲が間違った順序になっていることに気づきました。あなたは[MCVE](https://stackoverflow.com/help/mcve)を含めるようにあなたの質問を編集することができ

mapp.set_extent([-24.35, -23.36, -45.6, -44.2]) 
+0

ありがとう@ldreyer!私はその方法を考えていなかった、cartopyはmatplotlibのパラメータに依存している。ところで、set_extentが正しく、私はset_xticksとset_yticks行の座標を切り替えました。私はその問題でそれを修正した。再度、感謝します! – hperes

関連する問題