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

时间:2017-01-09 05:46:58

标签: r ggplot2 geom-text

我使用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)

我尝试了以下内容无济于事:

  1. 有一次,我决定如果我可以将文字设为黑色,我会接受它并继续前进,但是当我这样做时,定位失败并将两个文本集中在一个“选项”而不是将文字保留在各自的栏上。

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

  2. 然后我尝试了这个:

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

  3. 我通过此调整得到以下错误:错误:美学必须是长度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 个答案:

答案 0 :(得分:7)

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

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"))