0

我有一个跟进这个好问题:

如何为 R 中跨 x 轴镜像的两个变量创建条形图?

这些答案显示了如何在 R 中的 ggplot2 中制作镜像条形图,其中一些值为正,一些值为负。我的问题是:如果你想对上下条使用不同的刻度,它们都是正数怎么办?例如,如果向上条是条件 1,向下条是条件 2,并且两个条都表示 1 到 100 之间的值。我只希望条的方向在这些条件上表示不同的条件,而无需承诺负值。这在ggplot2中可能吗?谢谢你

4

1 回答 1

3

您可以使用 scale_y_continuous() 更改标签:

library(ggplot2)

dat <- data.frame(
  group = rep(c("Above", "Below"), each=10),
  x = rep(1:10, 2),
  y = c(runif(20, 0, 100))
)

dat$y[dat$group=="Below"] <- -dat$y[dat$group=="Below"]

ggplot(dat, aes(x=x, y=y, fill=group)) + 
  geom_bar(stat="identity", position="identity") + 
  scale_y_continuous(breaks=seq(-100,100,by=50),labels=abs(seq(-100,100,by=50)))

如果你不喜欢 50,你总是可以改变by.

于 2013-07-18T19:39:32.947 回答