首页 文章

如何在R中的ggplot2中更改geom_text中的字体颜色?

提问于
浏览
6

我正在使用geom_bar在ggplot2中生成一些基本的条形图 . 我想在每个栏上方以相同的颜色列出数字,我使用的是geom_text . 我正在使用 scale_fill_manual(values = alpha(c("#000000", "#FF5733"))) 填充栏 . 我遇到的问题是条形图上方的文字没有更改为自定义着色 . 保留默认的R颜色 .

library(ggplot2)
Area <- c("Option1", "Option2", "Option3")
Count <- c(193, 56, 4,240, 10, 25)
Type <- c("car", "car", "car", "bike", "bike", "bike")
p <- data.frame(Area, Count, Type)

ggplot(p, aes(x=Area, y=Count, color=Type)) + 
        geom_bar(stat="identity", position="dodge", aes(fill=Type), color="black")  +
        scale_fill_manual(values = alpha(c("#000000", "#FF5733"))) +
        geom_text(aes(label=Count), position=position_dodge(width = 0.9), vjust=-0.40)

我试过以下无济于事:

  • 有一次,我决定如果我可以让文本变成黑色,我会接受并继续前进,但是当我这样做时,定位失败并将两个文本集中在一个“选项”而不是将文本保留在他们的上面各自的酒吧 .

geom_text(aes(label = Count),color =“black”,position = position_dodge(width = 0.9),vjust = -0.40)

  • 然后我试过这个:

geom_text(aes(label = Count,color = c(“#000000”,“#FF5733”)),position = position_dodge(width = 0.9),vjust = -0.40)

我通过此调整得到以下错误:错误:美学必须是长度1或与数据(6)相同:标签,颜色,x,y

我想这是因为有6个酒吧,但只指定了2种颜色 . 但是,当我再添加4次颜色时,它就会从我想要的东西中得到更多 .

我试图发布图片,但我还没有足够的分数!抱歉!

感谢您提供的任何和所有帮助 . 我正在运行RStudio:

R版本3.2.3(2015-12-10)
平台:x86_64-apple-darwin13.4.0(64位)
运行于:OS X 10.11.6(El Capitan)
[1] ggplot2_2.1.0

和平 .

1 回答

  • 4

    尝试将 colour 选项添加到 geom_text 美学映射中,并使用 scale_colour_manual 将自定义颜色分配给 Type 的两个因子级别

    ggplot(p, aes(x=Area, y=Count, color=Type)) + 
            geom_bar(stat="identity", position="dodge", aes(fill=Type), color="black")  +
        scale_fill_manual(values = alpha(c("#000000", "#FF5733"))) +
        geom_text(aes(label=Count, colour=Type), 
                 position=position_dodge(width = 0.9), 
                 vjust=-0.40) +
        scale_colour_manual(values=c("#000000", "#FF5733"))
    

相关问题