【问题标题】:geom_col to show a ranking with the lowest number as the tallest bargeom_col 以最低数字作为最高条显示排名
【发布时间】:2021-04-22 13:24:00
【问题描述】:

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

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

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

我希望图表看起来像这样(使用相同的数据),其中 y 轴反转:

【问题讨论】:

    标签: r ggplot2 scale geom-col


    【解决方案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 package (v1.0.0) 于 2021 年 4 月 22 日创建

    【讨论】:

      猜你喜欢
      • 2014-04-07
      • 2013-09-28
      • 1970-01-01
      • 2016-05-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多