覆盖ggplot2图例文本

时间:2016-06-13 09:56:17

标签: r ggplot2 legend

我正在尝试使用ggplot创建条形图,非常类似于:

mtcars$gear <- as.factor(mtcars$gear)
ggplot(mtcars, aes(gear, mpg, fill=gear))+geom_bar(stat="identity")+
scale_fill_manual(values=c("grey30", "grey50", "grey70"))

现在我希望传奇的第一个标签(在我的例子中它说3个)说&#34;引用&#34;,同时保持其余标签完好无损,即4和5。

我很难找到办法做到这一点。我无法在这附近的某个地方找到类似我的问题。

有谁知道这个解决方案?

2 个答案:

答案 0 :(得分:2)

修复因子标签,然后绘制:

# set labes when creating factor
mtcars$gear <- factor(mtcars$gear,
                      levels = c("3", "4", "5"),
                      labels = c("reference", "4", "5"))

或者,如果我们想在因素转换后仅为"3"更新标签:

mtcars$gear <- as.factor(mtcars$gear)
levels(mtcars$gear)[levels(mtcars$gear) == "3"] <- "reference" 

答案 1 :(得分:1)

您可以使用:

mtcars$gear <- as.factor(mtcars$gear)
ggplot(mtcars, aes(gear, mpg, fill=gear)) + geom_bar(stat="identity") +   
scale_fill_manual(
    values=c("grey30", "grey50", "grey70"), 
    labels = c("reference", "4", "5"))