我尝试在 ggplot 中创建一个双向条形图,其中轴上方和下方的轴标签和数据标签均为正值。例如,如果您的数据是:
myData <- data.frame(category = c("yes", "yes", "no", "no"), month = c('Jan', 'Feb', 'Jan', 'Feb'), values = c(6, 5, 4, 3))
我想要两列,一列代表一月,一列代表二月,其中“是”值出现朝上的针条,带有正轴和数据标签,“否”值朝下,也带有正轴和数据标签。它们之间会有一个“0”值栏。这在 ggplots 中可能吗?如果可以,如何实现?谢谢。
您在寻找这样的东西吗?我们可以将“no”作为负值传递,但让 ggplot 将它们显示为正值。标签也是如此。
myData$values2 <- ifelse(myData$category == "no", -1 * myData$values, myData$values)
library(ggplot2)
ggplot(data = myData) + geom_bar(aes(x=month,y=values2,fill=category),stat="identity",position="identity") +
geom_text(aes(x=month,y=values2,label=abs(values2)),vjust = ifelse(myData$values2 >= 0, 0, 1)) +
scale_y_continuous(labels=abs)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)