muratdus Asked: 2023-10-07 06:35:35 +0800 CST2023-10-07 06:35:35 +0800 CST 2023-10-07 06:35:35 +0800 CST ggplot geom_bar:反转 Y 轴,但我希望条形图是从下往上而不是从上往下 772 数据的背景是我正在量化一项测定,其中数字越低越好。所以我希望较低的数字位于 Y 轴的高处,并且我的条形图从底部开始向上。但是,当我使用scale_Y_reverse时,条形从顶部开始。我怎样才能实现我想要的? 谢谢 Scale_Y_reverse 使条形从顶部开始而不是从底部开始。我希望它是从底部开始的。 o <- data.frame('Time'=c(24,48),'Count'=c(20,40)) ggplot(o, aes(x=as.factor(Time),y=Count)) + geom_col() + scale_y_reverse() 2 个回答 Voted Hanwen Zhang 2023-10-07T06:47:07+08:002023-10-07T06:47:07+08:00 您可以将 coord_flip() 函数与 scale_y_reverse() 一起使用 代码: library(ggplot2) o <- data.frame('Time' = c(24, 48), 'Count' = c(20, 40)) o %>% ggplot(aes(x = as.factor(Time), y = Count)) + geom_col() + scale_y_reverse() + coord_flip() Best Answer Axeman 2023-10-07T06:51:43+08:002023-10-07T06:51:43+08:00 ggplot对于从 0 开始的条形非常严格,因为这几乎普遍都是一个好主意。除非40由于某种原因是一个超级特殊的值,否则这个情节可能会让很多人感到困惑。 但我认为你可以通过绘制来做你想做的事: ggplot(o, aes(x=as.factor(Time), y= 40 - Count)) + geom_col() + scale_y_continuous(labels = \(x) 40 - x, limits = c(0, 40)) 不建议。
您可以将 coord_flip() 函数与 scale_y_reverse() 一起使用
代码:
ggplot
对于从 0 开始的条形非常严格,因为这几乎普遍都是一个好主意。除非40由于某种原因是一个超级特殊的值,否则这个情节可能会让很多人感到困惑。但我认为你可以通过绘制来做你想做的事:
不建议。