问题描述
我想将*
放在我的柱状图中的某些柱上方。如果我没有使用fill
美学,那将很简单,但是有了它,我就无法弄清楚如何在条形图上放置星星,而不是x轴刻度。
我尝试使用geom_text
,但未成功。我看到我可以使用annotate
手动添加它们,但这是一个不太好的解决方案。
这里是数据集和图的最小示例,我想将*
添加到:
df <- data.frame(age = c('year1','year1','year2','year2'),category = c('cat1','cat2','cat1','cat2'),value = 1:4,star = c("","*","","")
)
g <- ggplot(data = df,aes(category,proportion,fill = age))
g <- g + geom_bar(stat = "identity",position = position_dodge())
g
如何在相应栏的*
列的数据集中添加star
?
解决方法
我建议使用geom_text()
以躲避风格使用这种方法:
library(ggplot2)
#Data
df <- data.frame(age = c('year1','year1','year2','year2'),category = c('cat1','cat2','cat1','cat2'),value = 1:4,star = c("","*","","")
)
#Plot
g <- ggplot(data = df,aes(category,value,fill = age,label=star))
g <- g + geom_bar(stat = "identity",position = position_dodge())
g <- g + geom_text(position = position_dodge(0.9),vjust=-0.5)
g
输出:
让我知道这是否是您想要的。