更改ggplot中的千位分隔符

时间:2014-04-24 08:19:11

标签: r ggplot2 decimal scale separator

在制作带有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上的一些示例之外,我找不到有关哪些类型的其他标签存在的文档。

提前致谢,

福尔扎

3 个答案:

答案 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)