【发布时间】: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))
【问题讨论】:
我有一个不同项目排名的数据集,我希望最低值显示图表上最高的条形。下面是一小部分数据和用于构建图表的代码,以及图表当前的样子。
data <- data.frame(ranks = c("rank1","rank2", "rank3") , value = c(13,2,18))
ggplot(data) +
geom_col(aes(x = ranks, y = value))
【问题讨论】:
如果您可以容忍警告,则可以设置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 日创建
【讨论】: