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

如何在ggplot中对绘制图表的指定局部区域添加模糊效果?

这个需求可以实现,借助ggfx扩展包即可和ggplot2原生图层系统适配,完成指定局部区域的模糊效果。

实现步骤

  1. 先安装依赖包
install.packages("ggfx")
  1. 完整示例代码
library(ggplot2)
library(magrittr)
library(ggfx)

# 原有基础绘图逻辑不变
p <- 
  mtcars %>%
  ggplot(aes(x = disp, y = mpg)) +
  geom_line() +
  theme_minimal() +
  theme(panel.grid.major = element_blank(),
        panel.grid.minor = element_blank(),
        panel.border = element_blank(),
        panel.background = element_blank()) 

# 叠加局部模糊效果,模糊范围和你原有红色矩形标注范围一致
p +
  with_blur(
    p$layers[[1]], # 提取需要模糊的图层,这里是折线图层
    sigma = 10, # 模糊强度,数值越大模糊效果越强,可自行调整
    xmin = 100, xmax = 200,
    ymin = 15, ymax = 30
  )

补充说明

如果你的图中还有其他需要同步模糊的图层(比如散点、文字标注等),可以把需要模糊的图层都放到with_blur第一个参数的列表中:

p +
  with_blur(
    list(
      geom_line(data = mtcars, aes(x = disp, y = mpg)),
      geom_point(data = mtcars, aes(x = disp, y = mpg))
    ),
    sigma = 10,
    xmin = 100, xmax = 200,
    ymin = 15, ymax = 30
  )

如果需要给模糊区域加边框标注,可以在代码最后额外叠加矩形标注图层:

+ annotate("rect", xmin = 100, xmax = 200, ymin = 15, ymax = 30, color = "red", fill = NA, linewidth = 0.5)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.11 06:24:01