如何在 R 中的 ggplot2 中更改 geom_text 中的字体颜色?
How to change font color in geom_text in ggplot2 in R?
我正在使用 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)
我试过以下方法都没有用:
有一次我决定,如果我只能让文本变黑,我会接受它并继续前进,但是当我这样做时,定位失败并使两个文本居中为一个 "Option" 而不是将文本保留在各自的栏上。
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 次颜色时,它离我想要的更远了。
我尝试了post张图片,但是我的积分还不够!抱歉!
感谢您提供的所有帮助。我是 运行 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
和平。
尝试将 colour
选项添加到 geom_text
美学映射并将自定义颜色分配给 Type
和 scale_colour_manual
的两个因子水平
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"))
我正在使用 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)
我试过以下方法都没有用:
有一次我决定,如果我只能让文本变黑,我会接受它并继续前进,但是当我这样做时,定位失败并使两个文本居中为一个 "Option" 而不是将文本保留在各自的栏上。
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 次颜色时,它离我想要的更远了。
我尝试了post张图片,但是我的积分还不够!抱歉!
感谢您提供的所有帮助。我是 运行 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
和平。
尝试将 colour
选项添加到 geom_text
美学映射并将自定义颜色分配给 Type
和 scale_colour_manual
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"))