Добавьте запятую в тысячных в метке сюжета - PullRequest
0 голосов
/ 13 декабря 2018

У меня есть, например, данные ниже:

eg_data_x <- data.frame(
period = c("1", "2", "1 + 2"),
grp = c("1", "2", "1 + 2"),
sum_period = c(20000, 30000, 50000))
eg_data_x$period <- factor(eg_data_x$period, levels = c("1", "2", "1 + 2"))
eg_data_x$grp <- factor(eg_data_x$grp, levels = c("1", "2", "1 + 2"))

У меня есть синтаксис ниже, чтобы создать столбчатую диаграмму, которая составляет резиновую курицу по периоду.У меня ось y помечена так, что для тысячного места стоит запятая (1000 против 1000).

Мне нужно таким же образом добавить запятую к значениям на самом графике: 20000, 30000 и 50000 должны стать 20 000, 30 000 и 50 000.Я не нашел документацию для ggplot2, которая объясняет, как добавить это к меткам значений графа.

Как добавить эту же запятую в значения на графике?

library(ggplo2)
total_chickens_by_period <-  (
(ggplot(data = eg_data_x, aes(x=period, y=sum_period, fill = grp)) +
 geom_bar(stat = "identity", color = "black")) +
scale_fill_manual(values = c("red", "green", "gold")) +
scale_y_continuous(labels = scales::comma) +
geom_text(aes(label = sum_period), position = position_stack(vjust = 0.9), fontface = "bold") +
ggtitle("Total Rubber Chickens by Period") + xlab("Period") + ylab("Chickens") +
theme(plot.title = element_text(color = "black", size = 14, face = "bold", hjust = 0.5),
      axis.title.x = element_text(color = "black", size = 12, face = "bold"), 
      axis.title.y = element_text(color = "black", size = 12, face = "bold")) +
labs(fill = "Period") )

total_chickens_by_period

1 Ответ

0 голосов
/ 13 декабря 2018

Вам просто нужно отформатировать свои номера (метки) с помощью format, используя big.mark (вы можете передать его непосредственно aes).

library(ggplot2)
# Using OPs data
ggplot(eg_data_x, aes(period, sum_period, fill = grp)) +
    geom_bar(stat = "identity", color = "black") +
    scale_y_continuous(labels = scales::comma) +
    geom_text(aes(label = format(sum_period, big.mark = ",")), 
              position = position_stack(vjust = 0.9))

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...