0

我有一个不同项目排名的数据集,我希望最低值显示图表上的最高条。下面是一小部分数据和构建图表的代码,以及图表当前的样子。

data <- data.frame(ranks = c("rank1","rank2", "rank3") , value = c(13,2,18))

ggplot(data) + 
  geom_col(aes(x = ranks, y = value))

在此处输入图像描述

我希望图表看起来像这样(使用相同的数据),y 轴反转: 在此处输入图像描述

4

1 回答 1

1

如果您可以容忍警告,则可以设置ymax = after_stat(-Inf). 这个技巧滥用了列被参数化为矩形的事实,并且不是使用 ggplot2 的推荐方式。您也可以将其设置为-1 * desired_lowest_point,但比例不会自动调整限制。

library(ggplot2)
#> Warning: package 'ggplot2' was built under R version 4.0.5
data <- data.frame(ranks = c("rank1","rank2", "rank3") , value = c(13,2,18))

ggplot(data) + 
  geom_col(aes(x = ranks, y = value, 
               ymax = after_scale(-Inf))) +
  scale_y_reverse()
#> Warning: Ignoring unknown aesthetics: ymax

reprex 包(v1.0.0)于 2021-04-22 创建

于 2021-04-22T13:40:03.197 回答