我尝试在ggplot中创建双向条形图,其中轴上方和下方的轴标签和数据标签均为正数。例如,如果您的数据是:
myData <- data.frame(category = c("yes", "yes", "no", "no"), month = c('Jan', 'Feb', 'Jan', 'Feb'), values = c(6, 5, 4, 3))
我想要两个列,一个用于一月,一个用于二月,其中“是”&#39;值出现针杆,指向正轴和数据标签,并且“没有”#39;指向下的值,也包括正轴和数据标签。会有一个&#39; 0&#39; 0它们之间的价值吧。这是可能的ggplots,如果是这样,它怎么能完成?谢谢。
答案 0 :(得分:5)
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)