要按照百分比值重新排序facet_wrap中的标题,可以使用以下代码示例:
library(ggplot2)
# 创建一个示例数据框
df <- data.frame(
x = rep(1:4, 4),
y = rep(1:4, each = 4),
value = c(20, 30, 15, 35, 10, 25, 40, 20, 30, 20, 40, 10, 35, 15, 20, 30)
)
# 计算每个子图的百分比值
df_percent <- within(df, {
percent <- value / sum(value) * 100
})
# 按百分比值重新排序标题
df_sorted <- df_percent[order(df_percent$percent), ]
# 使用facet_wrap创建子图,并使用排序后的标题
ggplot(df, aes(x, y, fill = value)) +
geom_tile() +
facet_wrap(~x, labeller = labeller(x = as_labeller(df_sorted$y))) +
scale_fill_gradient(low = "white", high = "blue") +
theme_minimal()
在这个示例中,我们首先计算了每个子图的百分比值,并将其存储在df_percent数据框中。然后,我们使用order函数根据百分比值对df_percent进行排序,并将结果存储在df_sorted中。最后,我们在facet_wrap函数中使用labeller参数来重新排序子图的标题,并使用排序后的标题创建了一个图表。
请注意,在这个示例中,我们使用了geom_tile和scale_fill_gradient函数来创建一个热图,并使用theme_minimal函数来设置图表的主题。你可以根据自己的需求调整这些函数的参数。
上一篇:按百分比阈值查找子列的重复行
下一篇:按百分位数划分的R二进制指标