R geom#u sf size参数不';当尺寸<;1.
问题:我试图用sf包和ggplot2中的R geom#u sf size参数不';当尺寸<;1.,r,dictionary,ggplot2,sf,R,Dictionary,Ggplot2,Sf,问题:我试图用sf包和ggplot2中的geom\U sf()创建美国各州/县的地图,但我无法在geom\U sf()中获得多边形边界线宽度的size参数,以便在大小%geom\sf(尺寸=0.5) 具体而言,州/县的边界线似乎与任意小的边界线具有相同的宽度(例如,size=0.05)一直到size=0.702。然后在size=0.702处似乎有一个奇怪的截止点,在该截止点上方,边界线突然变宽。然后从size=0.703到size=1之间,边界线似乎具有相同的宽度。对于size>1,边界线逐渐变
geom\U sf()
创建美国各州/县的地图,但我无法在geom\U sf()
中获得多边形边界线宽度的size
参数,以便在大小<1
时正确创建细线(例如ggplot(sf\U obj)%>%geom\sf(尺寸=0.5)
具体而言,州/县的边界线似乎与任意小的边界线具有相同的宽度(例如,size=0.05
)一直到size=0.702
。然后在size=0.702
处似乎有一个奇怪的截止点,在该截止点上方,边界线突然变宽。然后从size=0.703
到size=1
之间,边界线似乎具有相同的宽度。对于size
>1,边界线逐渐变宽,正如所料
研究:正如Bob Rudis和Matt Strimas Mackey的地图代码所示,geom_sf()
确实支持大小的逐渐变化。我的问题似乎与ggplot2的Github页面上标题为“geom_sf将小尺寸旋转到1”的问题相同,但问题已解决,我不确定是否/如何在我的机器上实施修复。还有另一个类似的问题(和),但Hadley建议本例中的问题可能是图形设备/查看器。我复制了我的问题(以及上面链接的两个Github问题)在RStudio和RGUI中,但我不确定如何测试/更改我的图形设备/查看器
版本信息:我使用的是ggplot2_3.0.0、sf_0.6.3、R版本3.5.1、RStudio版本1.1.456和Windows 10版本1803;这个问题也使用RGUI复制
Code:下面是一个reprex,它使用的是来自geom\u sf()
的北卡罗来纳地图。如果您有任何帮助,我们将不胜感激。谢谢
suppressPackageStartupMessages(library(ggplot2))
suppressPackageStartupMessages(library(reprex))
suppressPackageStartupMessages(library(sf))
#################################################
# plot north carolina map
nc <- sf::st_read(system.file("shape/nc.shp", package = "sf"), quiet = TRUE)
ggplot(nc) + geom_sf(size = 0.05)
更新:正如Chris和Ibsett指出的,在使用ggsave
后,边界线具有预期的宽度。谢谢
您是否使用了<代码> GGStave>代码>?我不能在我的机器上重现错误。我看到了同样的行为,但我想这确实取决于图形设备。例如,如果您尝试使用<代码> GGStave<代码>保存PDF。您将得到不同的结果。此外,考虑到“瘦”有多少限制。可以在监视器上渲染线条,并且监视器上线条的宽度不可避免地被“量化”(即,它可以是1像素或2像素,但不是1.5像素),因此我认为总会有一些“截止点”我投票结束这个问题,因为这是一个图形设备的问题,而不是一个编码问题,并且评论已经根据OP的更新提供了一个解决方案
nc %>% ggplot() + geom_sf(size = 0.702)
nc %>% ggplot() + geom_sf(size = 0.703)
# get version info
packageVersion("ggplot2")
#> [1] '3.0.0'
packageVersion("sf")
#> [1] '0.6.3'
version
#> _
#> platform x86_64-w64-mingw32
#> arch x86_64
#> os mingw32
#> system x86_64, mingw32
#> status
#> major 3
#> minor 5.1
#> year 2018
#> month 07
#> day 02
#> svn rev 74947
#> language R
#> version.string R version 3.5.1 (2018-07-02)
#> nickname Feather Spray