geom_col 显示最低数字作为最高柱的排名
geom_col to show a ranking with the lowest number as the tallest bar
我有一个不同项目排名的数据集,我希望其中的最低值显示图表上最高的条形。下面是一小部分数据和构建图表的代码,遵循图表当前的样子。
data <- data.frame(ranks = c("rank1","rank2", "rank3") , value = c(13,2,18))
ggplot(data) +
geom_col(aes(x = ranks, y = value))
我希望图表看起来像这样(使用相同的数据),y 轴反转:
如果能容忍警告,可以设置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-04-22 创建
我有一个不同项目排名的数据集,我希望其中的最低值显示图表上最高的条形。下面是一小部分数据和构建图表的代码,遵循图表当前的样子。
data <- data.frame(ranks = c("rank1","rank2", "rank3") , value = c(13,2,18))
ggplot(data) +
geom_col(aes(x = ranks, y = value))
我希望图表看起来像这样(使用相同的数据),y 轴反转:
如果能容忍警告,可以设置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-04-22 创建