在ggplot中设置中断和标签

Mat*_*ien 6 maps r ggplot2 choroplethr

我把Shiny应用程序(下面)放在一起,显示了一个等级,除了传说中的科学符号外,它看起来很好.

我希望这些价值观为:'$ 5,000,000','$ 4,000,000'等等.

在此输入图像描述

代码归结为

g <-choroplethr(DF, lod="state", num_buckets = 1)
g <- g + scale_fill_gradient(high = "springgreen4", low= "grey90", name="Sum")
Run Code Online (Sandbox Code Playgroud)

我试过这个:

g <- q + scale_fill_gradient(high = "springgreen4", low= "grey90", name="Sum", labels = c("5,000,000", "4,000,000", "3,000,000", "2,000,000", "1,000,000"))  
Run Code Online (Sandbox Code Playgroud)

但我得到了错误,Breaks和标签是不同的长度

当我处理地图时,我不确定如何在x轴上指定断点?如何创建与我想要包含的标签一起使用的中断?谢谢.

Did*_*rts 11

如果要添加参数labels=,scale_fill_gradient()则还应添加breaks=与标签长度相同的参数.

+ scale_fill_gradient(high = "springgreen4", low= "grey90", name="Sum", 
          labels = c("5,000,000", "4,000,000", "3,000,000", "2,000,000", "1,000,000"),
           breaks = c(5000000, 4000000, 3000000, 2000000, 1000000))
Run Code Online (Sandbox Code Playgroud)

在这种情况下,更好的解决方案是使用库中的dollar格式scales.这将自动添加美元符号和逗号.

library(scales)
+ scale_fille_gradient(labels=dollar)
Run Code Online (Sandbox Code Playgroud)

  • 除了上面的美元格式,这可以工作`labels = paste0("$",c("5,000,000","4,000,000","3,000,000","2,000,000","1,000,000"))`, (3认同)