ggplot にマップがあります (geom_polygon、ライン、ポイント、およびセグメントで構成されています)。オリジナルは WGS で、単位はすべて緯度/経度です。すべての追加データ (線と点) も度単位です。全体を正積図法(モルワイデ)に再変換したい。最初のステップ (基礎となる rworldmap ポリゴンの変換) は、奇妙な水平線が走っているものの、かなり簡単でした。しかし、次のステップにどのように取り組むべきかわかりません。私が言ったように、すべてのデータは度単位であり、xlim/ylim、軸ラベル、および (曲線) グリッド線を度単位で指定したいと考えています。すべてをモルワイデ メートルに変換する必要がありますか、それとも最終的な地図オブジェクトを 1 つの簡単な手順で再形成することは可能ですか?
これは、これらの奇妙な水平線を示すために、これまでのところ私が持っているものです。
library(rworldmap)
library(rgdal)
library(ggplot2)
moll_crs<-CRS("+proj=moll +R=10567000 +lon_0=0 +x_0=0 +y_0=0 +units=m +towgs84=0,0,0,0,0,0,0 +no_defs")
ggplot() +
geom_polygon(data = spTransform(getMap(resolution = 'low'), CRSobj = moll_crs),
aes(x = long,
y = lat,
group = group),
fill = 'gray90',
colour = 'gray10',
size = 0.3) +
coord_fixed()
これにより、水平線が発生します。
編集:
@hrbmstr の答えに続いて、私は彼の GeoJSON ファイルを使用していますcoord_map("molleweide")
:
ggplot() +
geom_map(data=world, map=world,
aes(x=long, y=lat, map_id=id),
fill="gray90", color="gray10", size=0.3) +
coord_map("mollweide",
xlim = c(-50, 40))
ただし、xlim
議論は物事を台無しにして、水平線を追加しています。coord_***(xlim)
引数が表示可能領域を変更しただけだと思っていましたが、マップの描画方法に影響しているようです。何か案は?