在scale_y_continuous()上强制Y标签

时间:2011-08-02 16:41:04

标签: r ggplot2

问题:使用scale_y_continuous()时,Y轴标签将被删除。

示例:

dat <- data.frame(variable = c("A","B","C"),
value = c(0.5,0.25,0.25)
)

ggplot(dat, aes(variable, value)) +
geom_bar() +
scale_y_continuous("", formatter="percent") + 
labs(y="Proportion",x="Type")

有没有办法在使用scale_y_continuous()时强制显示标签?

1 个答案:

答案 0 :(得分:4)

是。在我看来,标签消失了,因为你告诉它是一个空字符串,后来对labs(y=...)的调用不会覆盖它。以下两种替代配方都有效:

选项1 是不使用scale_y_continuous(formatter=...),即不提供任何标签文字。

ggplot(dat, aes(variable, value)) +
    geom_bar() +
    scale_y_continuous(formatter="percent") + 
    labs(y="Proportion", x="Type")

选项2 是指定直接调用中的标签文字,即scale_y_continuous("Proportion", ...)

ggplot(dat, aes(variable, value)) +
    geom_bar() +
    scale_y_continuous("Proportion", formatter="percent") + 
    labs(x="Type")

enter image description here