Разделитель тысяч в метке оси x или y

Я хотел бы иметь красивые метки на оси Y. Например, я предпочитаю иметь 1000 вместо 1000. Как это сделать в ggplot? Вот минимальный пример:

x <- data.frame(a=c("a","b","c","d"), b=c(300,1000,2000,4000))
ggplot(x,aes(x=a, y=b))+
               geom_point(size=4)

Спасибо за любую подсказку.


person giordano    schedule 02.11.2012    source источник


Ответы (2)


С пакетами scales становятся доступными некоторые параметры форматирования: запятая, доллар, процент. См. примеры в ?scale_y_continuous.

Я думаю, что это делает то, что вы хотите:

library(ggplot2)
library(scales)

x <- data.frame(a=c("a","b","c","d"), b=c(300,1000,2000,4000))

ggplot(x, aes(x = a, y = b)) + 
  geom_point(size=4) +
  scale_y_continuous(labels = comma)
person Sandy Muspratt    schedule 02.11.2012

Приукрасьте тысячи, используя любой символ с базовой функцией format():

Пример 1 (через запятую).

format(1000000, big.mark = ",", scientific = FALSE)
[1] "1,000,000"

Пример 2 (через пробел).

format(1000000, big.mark = " ", scientific = FALSE)
[1] "1 000 000"

Применить format() к меткам осей ggplot с помощью анонимной функции:

ggplot(x, aes(x = a, y = b)) +
        geom_point(size = 4) +
        scale_y_continuous(labels = function(x) format(x, big.mark = ",",
                                                       scientific = FALSE))
person Georgie Shimanovsky    schedule 24.11.2017