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

如何在R语言中使用ggplot2为分组密度图添加曲线下方填充阴影

为密度曲线添加填充阴影的解决方案

当然可以实现这个需求!你只需要对原代码做两处小修改,就能给每条密度曲线下方加上填充阴影:

  1. 在ggplot()的aes()映射里添加fill = region,让填充颜色和线条颜色一样按区域分组;
  2. 给geom_density()加上alpha参数调整填充的透明度,避免不同区域的填充区域完全遮挡彼此。

修改后的完整代码如下:

library(dslabs)
library(tidyverse)
library(dplyr)

murders %>% 
  filter(region %in% c("Northeast","South")) %>%  # 用%in%是筛选多值更严谨的写法
  ggplot(aes(x = total, y = ..count.., col = region, fill = region)) +
  geom_density(alpha = 0.5)  # alpha设为0.5让填充半透明,方便看清重叠区域

补充说明:

  • 我把原代码里的region == c("Northeast","South")改成了region %in% c("Northeast","South"),这是R中筛选多个取值更规范的写法,能避免一些潜在的逻辑错误;
  • alpha的取值范围是0到1,你可以根据需求调整:数值越小填充越透明,数值越大填充越不透明;
  • 如果想要自定义填充颜色,可以添加scale_fill_manual()函数指定颜色,比如:
    + scale_fill_manual(values = c("Northeast" = "#1f77b4", "South" = "#ff7f0e"))
    

内容的提问来源于stack exchange,提问作者Data Scientist to be

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.30 10:12:53