首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在geom_sf中向颜色栏图例添加逗号(R ggplot)

在geom_sf中向颜色栏图例添加逗号(R ggplot)
EN

Stack Overflow用户
提问于 2018-09-20 04:05:46
回答 2查看 1.2K关注 0票数 2

我正在使用ggplot和geom_sf制作地图,我想在图例中的值上添加逗号。我发现编辑颜色条的唯一方法是通过“指南”,但+ guides(fill = guide_colorbar(labels="comma"))似乎什么也做不了(可能是因为“标签”不是“指南”中包含的规范?)如何获得包含超过1000个逗号的相同图例?

获取所有数据的代码有点长,所以我希望有人不需要reprex就能知道答案,但如果需要的话,我可以编辑它。谢谢!

代码语言:javascript
复制
landingsmap <- ggplot() + 
  scale_x_continuous(limits=c(-126, -116), expand=c(0,0)) + 
  scale_y_continuous(limits=c(32, 42), expand=c(0,0)) + 
  geom_sf(data=simpleblocks, aes(colour=number_fish, fill=number_fish)) + 
  scale_colour_gradient(low="lightcoral", high="darkred", name="Number of Fish") + 
  scale_fill_gradient(low="lightcoral", high="darkred", name="Number of Fish") +
  geom_sf(data=camap, colour="black") + 
  theme(
    panel.background = element_rect(fill="skyblue4", size=0.5, linetype="solid"),
    legend.position = c(0.78, 0.5)
    ) + 
  NULL
landingsmap 

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-09-20 04:27:57

尝尝这个。我将使用sf包中的一个示例。

代码语言:javascript
复制
library(sf)
#> Linking to GEOS 3.6.1, GDAL 2.1.3, proj.4 4.9.3
library(ggplot2)
fname <-  system.file("shape/nc.shp", package = "sf")
nc <-  read_sf(fname)

ggplot(nc)+
  geom_sf(aes(fill = BIR79))+
  scale_fill_continuous(labels=function(x) format(x, big.mark = ",", scientific = FALSE))

reprex package创建于2018-09-19 (v0.2.0)。

因此,对于您的示例,您可以这样写:

代码语言:javascript
复制
scale_fill_gradient(low="lightcoral", high="darkred", name="Number of Fish", labels=function(x) format(x, big.mark = ",", scientific = FALSE))
票数 6
EN

Stack Overflow用户

发布于 2021-07-06 22:14:12

尝试使用scales::逗号,如下所示:

代码语言:javascript
复制
scale_fill_gradient(label = scales::comma)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52413452

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档