私は ggplot を使用してファセット マップを描画していますが、xy アスペクト比を固定したまま、各ファセットで「自由な」スケールを許可する方法を見つけることができませんでした (小さな領域が小さすぎないように)。
簡単な例を次に示します。
require(maps)
require(ggplot2)
map_nz <- subset(fortify(map_data('nz')),
region %in% c("South.Island ", "North.Island "))
gg_nz <- qplot(long, lat, data=map_nz, geom="polygon", group=group)
私は今、ニュージーランドの北島と南島の区画を持っています。これをファセットして、次のように固定アスペクト比で表示できます。
gg_nz + coord_fixed() + facet_wrap(~region)
結果は次のようになります。
北島ファセットにはかなりのスペースが無駄になっていることに注意してください。利用可能なスペースをもっと占有したいと思います。次のようにスケールを解放できます。
gg_nz + facet_wrap(~region, scales="free")
次の結果が得られます。
問題は、xy アスペクト比が各ファセットで 1:1 ではなくなったことです。各ファセットを異なる縮尺で表示できることをうれしく思いますが、ファセット内では縦横比を維持したいと考えています。
私は成功せずに次のことを試しました:
gg_nz + facet_wrap(~region, scales="free") + coord_fixed()
おそらくoverridesのscale
パラメーター。助言がありますか?facet_wrap
coord_fixed
更新: より劇的な例を示すために、米国の一部の州で同じ現象が発生しています。
固定座標 (coord_fixed
またはを使用coord_equal
):
フリー座標 ( を使用
scales = free
):
これらの地図はどちらも理想的ではありません。最初の地図では、デラウェア州は小さいです。2 つ目は、縦横比がかなり歪んでいます。たとえば、狭い州であるニュージャージー州は、あまりにも広く伸びています。