在制作带有ggplot的条形图时,我遇到麻烦来获得首选的千位分隔符。我希望数千个用点而不是逗号分隔。像这样它没有分隔符:
require(ggplot2)
require(scales)
options(scipen=10)
D = data.frame(x=c(1,2),y=c(1000001,500000))
p = ggplot(D,aes(x,y)) + geom_bar(stat="identity")
p
并且像这样它给出一个逗号:
p + scale_y_continuous(labels=comma)
你如何得到一个点数千分隔符?除了http://docs.ggplot2.org/0.9.3.1/scale_continuous.html上的一些示例之外,我找不到有关哪些类型的其他标签存在的文档。
提前致谢,
福尔扎
答案 0 :(得分:19)
p + scale_y_continuous(labels=function(x) format(x, big.mark = ".", scientific = FALSE))
答案 1 :(得分:3)
非常好的答案。在定义千位分隔符时,最好还将小数点分隔符定义为逗号,以避免错误。
p + scale_y_continuous(labels=function(x) format(x, big.mark = ".", decimal.mark = ",", scientific = FALSE))
答案 2 :(得分:0)
这也有效:
p + scale_y_continuous(labels = scales::comma)