相关疑难解决方法(0)

面对自由尺度,但保持纵横比固定

我正在使用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)
Run Code Online (Sandbox Code Playgroud)

我现在有一个新西兰北岛和南岛的情节.我可以面对这个并以固定的宽高比显示它,如下所示:

gg_nz + coord_fixed() + facet_wrap(~region)
Run Code Online (Sandbox Code Playgroud)

结果看起来像这样:

新西兰地图 - 固定纵横比

请注意,北岛小平面浪费了相当多的空间.我希望它占用更多的可用空间.我可以像这样释放比例尺:

gg_nz + facet_wrap(~region, scales="free")
Run Code Online (Sandbox Code Playgroud)

结果如下:

新西兰地图 - 免费比例

问题是每个方面的xy纵横比不再是1:1.我很高兴每个方面都有不同的规模,但在方面我想保留纵横比.

我尝试了以下但没有成功:

gg_nz + facet_wrap(~region, scales="free") + coord_fixed()
Run Code Online (Sandbox Code Playgroud)

大概是覆盖中的scale参数.有什么建议?facet_wrapcoord_fixed

更新:为了给出一个更具戏剧性的插图,这与美国一些州的情况相同:

固定坐标(使用coord_fixedcoord_equal):

美国地图 - 固定方面 免费坐标(使用scales = free):

美国地图 - 免费比例

这些地图都不是理想的:首先,特拉华州很小.在第二种情况下,纵横比非常扭曲.例如,新泽西州是一个狭窄的国家,拉伸得太宽.

gis r ggplot2

19
推荐指数
3
解决办法
6072
查看次数

标签 统计

ggplot2 ×1

gis ×1

r ×1