首页 > 解决方案 > 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?(注意我不能更改原始数据)

标签: rggplot2geom-bar

解决方案


只需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)

reprex 包于 2019-11-10 创建(v0.3.0)


推荐阅读