Как изменить разделитель тысяч в ggplot2 для geom_text - PullRequest
0 голосов
/ 11 января 2019

Я создал гистограмму, используя ggplot2, и я пометил столбцы значениями, которые они изображают. Поскольку эти значения довольно велики, я хотел бы использовать тысячи разделителей. Но я хочу использовать кавычку вместо обычной запятой (я уже узнал, как разделять запятыми).

Я уже пытался сделать это так же, как можно изменить тысячу разделителей в scale_y_continuous, но это не сработало.

Я также прочитал, что я должен использовать:

df <- df %>%
  mutate(label.income = gsub("\\,","'", scales::comma(income)))

Но тогда я всегда получаю следующее сообщение об ошибке: "Ошибка в UseMethod (" mutate_ "): нет применимого метода для 'mutate_', примененного к объекту класса "function" "

Это данные и код, которые я использую:

set1 <- read.table(text = "group income
           group1 30500
           group2 29000
           group3 60500
           group4 18000", header=TRUE)

library(ggplot2)
ggplot(set1, aes(x=group, y=income))+
  theme_bw()+
  geom_bar(stat = 'identity', position = "dodge", fill="#13449f")+
  geom_text(aes(label = income), position = position_dodge(0.9), 
        vjust=1.3, colour = "white", size=5)+
  scale_y_continuous(breaks = seq(0, 70000, by = 10000), limits = c(0,70000), labels=function(income) format(income, big.mark = "'", scientific = FALSE))

Как я могу иметь те же тысячи разделителей на метках на столбцах, что и на оси Y?

1 Ответ

0 голосов
/ 11 января 2019

это то, что вы хотите?

library(ggplot2)
ggplot(set1, aes(x=group, y=income))+
  theme_bw()+
  geom_bar(stat = 'identity', position = "dodge", fill="#13449f")+
  geom_text(aes(label = format(income, big.mark = "'", scientific = FALSE)), position = position_dodge(0.9), 
        vjust=1.3, colour = "white", size=5)+
  scale_y_continuous(breaks = seq(0, 70000, by = 10000), limits = c(0,70000), labels=function(income) format(income, big.mark = "'", scientific = FALSE))
...