使用sf、ggplot和cut_interval()的Choropleth中的组数错误

使用sf、ggplot和cut_interval()的Choropleth中的组数错误,r,ggplot2,choropleth,sf,R,Ggplot2,Choropleth,Sf,我试图使用sf、ggplot2和ggplot2中的cut\u interval()来控制choropleth中的类别数。有时它是有效的,但对于某些数据集,类别的数量是1。下面是我的代码,输入数据集(7Kb)如下: 库(sf) 图书馆(GG2) lga.sf在这种情况下,cut\u interval()执行正确,但其中一个cut中没有观察到任何结果,因此ggplot()忽略它 (这恰好是中间间隔-您可以实际看到第二个和第三个图例项之间的覆盖范围差距。) 您可以通过使用表()查看切割间隔()来验证

我试图使用
sf
ggplot2
ggplot2
中的
cut\u interval()
来控制choropleth中的类别数。有时它是有效的,但对于某些数据集,类别的数量是1。下面是我的代码,输入数据集(7Kb)如下:

库(sf)
图书馆(GG2)

lga.sf在这种情况下,
cut\u interval()
执行正确,但其中一个cut中没有观察到任何结果,因此
ggplot()
忽略它

(这恰好是中间间隔-您可以实际看到第二个和第三个图例项之间的覆盖范围差距。)

您可以通过使用
表()
查看
切割间隔()
来验证这一点:

library(sf)
library(ggplot2)

lga.sf <-  st_read("ggplot-test-04.geojson")

ggplot() +
  geom_sf(data = lga.sf,
          aes(fill = cut_interval(value,5))) +
  scale_fill_brewer(palette = "RdYlBu", 
                    name = "Legend" )
table(cut_interval(lga.sf$value, 5))

[1.44,1.61] (1.61,1.78] (1.78,1.95] (1.95,2.11] (2.11,2.28] 
          3           7           0           1           1