gpt4 book ai didi

r - 具有自由刻度但保持纵横比固定的刻面

转载 作者:行者123 更新时间:2023-12-01 23:32:28 25 4
gpt4 key购买 nike

我正在使用 ggplot 绘制多面 map ,但无法弄清楚如何在每个方面允许“自由”缩放(以便小区域看起来不会太小),同时保持 x-y 纵横比固定。

这是一个简化的示例:

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)

我现在有新西兰北岛和南岛的一 block 地 block 。我可以将其分面并以固定的宽高比显示它,如下所示:

gg_nz + coord_fixed() + facet_wrap(~region)

结果如下:

NZ map - fixed aspect ratio

请注意,北岛方面浪费了相当多的空间。我希望它占用更多的可用空间。我可以像这样释放秤:

gg_nz + facet_wrap(~region, scales="free")

结果如下:

NZ map - free scales

问题是每个面的 x-y 纵横比不再是 1:1。我很高兴每个方面都有不同的比例,但在方面内我想保留纵横比。

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

gg_nz + facet_wrap(~region, scales="free") + coord_fixed()

大概facet_wrap中的scale参数会覆盖coord_fixed。有什么建议吗?

更新:为了给出更生动的说明,以下是美国一些州的相同现象:

固定坐标(使用coord_fixedcoord_equal):

US map - Fixed aspect免费坐标(使用scales = free):

US map -Free scales

这些 map 都不理想:在第一张 map 中,特拉华州很小。在第二个中,长宽比非常扭曲。例如,新泽西州是一个狭窄的州,但它被拉得太宽。

最佳答案

主题(aspect.ratio = 1)有效。

gg_nz + facet_wrap(~region, scales="free") + theme(aspect.ratio = 1)

关于r - 具有自由刻度但保持纵横比固定的刻面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16258095/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com