我使用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
和平。
答案 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"))