双向条形图,两边都有正面标签ggplot2

时间:2016-06-28 20:20:57

标签: r ggplot2 bar-chart

我尝试在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,如果是这样,它怎么能完成?谢谢。

1 个答案:

答案 0 :(得分:5)

你正在寻找这样的东西吗?我们可以将&#34; no&#34; s作为否定值传递,但让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)

enter image description here