R 更改ggplot图例上的标签

R 更改ggplot图例上的标签,r,ggplot2,mapping,gradient,legend,R,Ggplot2,Mapping,Gradient,Legend,我使用ggplot,这样我可以在地图上得到一个梯度,以显示大比例尺上的数据。有0到35000之间的点需要可视化。我已经做到了,但是图例会自动显示每10000个标签 理想情况下,我希望图例显示最大数量,因此它可能只在底部显示0,在顶部显示35000。这可行吗 如果这有帮助,我的ggplot代码如下 ggplot() + geom_map(data = datafile, aes(map_id = Health_Board, fill = datafile$"2007"), map = Sco

我使用ggplot,这样我可以在地图上得到一个梯度,以显示大比例尺上的数据。有0到35000之间的点需要可视化。我已经做到了,但是图例会自动显示每10000个标签

理想情况下,我希望图例显示最大数量,因此它可能只在底部显示0,在顶部显示35000。这可行吗

如果这有帮助,我的ggplot代码如下

ggplot() +
  geom_map(data = datafile, aes(map_id = Health_Board, fill = datafile$"2007"), map = Scot) +
  geom_polygon(data = Scot, aes(x = long, y = lat, group = group), colour = "gray", fill = NA) +
  expand_limits(x = Scot$long, y = Scot$lat) +
  scale_fill_gradient(low = ("lightyellow"), high = ("red"), limits = c(0,35000)) +
  ggtitle("2007") +
  coord_fixed(1.2) +
  theme(axis.text.x = element_blank(), axis.text.y = element_blank(), 
    axis.ticks = element_blank(), axis.title.x = element_blank(), 
    axis.title.y = element_blank(), 
    panel.grid.major = element_blank(), panel.grid.minor = element_blank(), 
    panel.border = element_blank(), panel.background = element_blank(),
    legend.title = element_text(face = "bold"),
    plot.title = element_text(face = "bold", hjust = 0.5))
您可以包含“breaks”参数。像这样:

scale_fill_gradient(low = ("lightyellow"), high = ("red"),
                        breaks=c(min(lat),max(lat)),
                        limits = c(0,35000)) +
如果您想要更多,可以包含“labels”参数

scale_fill_gradient(low = ("lightyellow"), high = ("red"),
                        breaks=c(min(lat),max(lat)),
                        labels=c("Minimum","Maximum"),
                        limits = c(0,35000)) +

试试?谢谢。马可,我现在用的是比例填充梯度。如果我使用scale\u fill\u gradientn,哪一个参数允许我像这样修改图例?
labels
中的
scale\u fill\u gradientn
参数将帮助您。如果你发布了可复制的示例,有人可以帮助你提供详细的解决方案。设置
breaks=c(03500)
inside
scale\u fill\u gradient
work@MarcoSandri我不明白你的建议?为什么这比海报使用的内容更重要?