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