You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用after_stat将所有fill美学映射统一到单一刻度

解决方案:统一缩放所有分组的密度至最大值1

要实现所有fill分组的密度合并后统一缩放至最大值1,而非单独缩放每组,你可以直接在after_stat中用原始密度值除以所有分组密度的全局最大值,替代默认按组缩放的ndensity。

具体代码修改如下:

library(ggplot2)
ggplot(iris, aes(x = Sepal.Length, fill = Species)) +
  geom_density(aes(y = after_stat(density / max(density, na.rm = TRUE))), alpha = 0.4)

原理说明

  • after_stat(density)会提取每个分组的原始密度计算值
  • max(density, na.rm = TRUE)会获取所有分组密度中的全局最大值
  • 用原始密度除以这个全局最大值,就能让所有曲线的整体峰值统一为1,同时保留各组曲线的形状和相对比例

内容的提问来源于stack exchange,提问作者Quinten

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 02:55:56