如何在 geom_col 图中仅标记模态峰值

Mik*_*ike 5 r ggplot2 geom-col

我想在 geom_col 图上仅在模态条(最高峰)上方放置一个标签,给出 x 轴值 (CAG)。这是一个例子,但我只能让它标记每个峰值。

x <- seq(-20, 20, by = .1)
y <- dnorm(x, mean = 5.0, sd = 1.0)
z <- data.frame(CAG = 1:401, height = y)
ggplot(z, aes(x=CAG, y=height)) +
  geom_col() +
  geom_text(aes(label = CAG))
Run Code Online (Sandbox Code Playgroud)

如果您能帮助我仅标记最高峰,我将非常感激

dc3*_*c37 5

只需对数据集进行子集化geom_text即可仅保留 y 的最大值:

ggplot(z, aes(x=CAG, y=height)) +
  geom_col() +
  geom_text(data = subset(z, y == max(y)), aes(label = CAG))

Run Code Online (Sandbox Code Playgroud)

在此输入图像描述