R: изменить метки баров в geom_bar

Ниже мои данные:

library(ggplot2)  
myData <- data.frame(
  x = c("windows", "macos", "html5"),
  y = c(15, 56, 34)
)


ggplot(myData, aes(x=x, y=y)) + 
  geom_bar(stat="identity", width = 0.5)

И мой полученный сюжет: введите здесь описание изображения

Я хотел бы изменить имена баров на Windows, MacOS, HTML5. Как мне настроить это с помощью ggplot? (Обратите внимание, что я не могу изменить исходные данные)


person hydradon    schedule 11.11.2019    source источник


Ответы (1)


Просто дайте новый labels вашей переменной x

library(tidyverse)  

ggplot(myData, aes(x = fct_reorder(x, -y), y = y)) + 
  geom_col(width = 0.5) +
  scale_x_discrete(breaks = c("windows", "macos", "html5"),
                   labels = c("Windows", "MacOS", "HTML5"))

# or 
my_x_labels <- setNames(c("Windows", "MacOS", "HTML5"),
                        c("windows", "macos", "html5"))
ggplot(myData, aes(x = fct_reorder(x, -y), y = y)) + 
  geom_col(width = 0.5) +
  scale_x_discrete(labels = my_x_labels) +
  theme_minimal()

# or
myData <- myData %>% 
  mutate(x = factor(x, 
                    levels = c("windows", "macos", "html5"),
                    labels = c("Windows", "MacOS", "HTML5")))

ggplot(myData, aes(x = fct_reorder(x, -y), y = y)) + 
  geom_col(width = 0.5)

Создано 10 ноября 2019 г. с помощью пакета reprex (v0.3.0)

person Tung    schedule 11.11.2019