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

如何在ggplot散点图中为指定名称的数据点添加标签

给指定车型的散点添加标签

实现思路

先定义需要标注的车型列表,给数据集新增一列标签——仅指定车型保留名称,其余设为空,最后用ggplot2的文本图层只显示非空标签。

完整代码

# 定义需要标注的车型
target_cars <- c(
  "Merc 450SE",
  "Cadillac Fleetwood",
  "Lincoln Continental",
  "Chrysler Imperial",
  "Fiat 128",
  "Honda Civic",
  "Toyota Corolla",
  "Fiat X1-9",
  "Porsche 914-2",
  "Lotus Europa"
)

# 给mtcars添加标签列
mtcars$label <- ifelse(rownames(mtcars) %in% target_cars, rownames(mtcars), "")

# 绘制带指定标签的散点图
library(ggplot2)
ggplot(mtcars, aes(x = wt, y = mpg)) +
  geom_point(size = 2) +  # 绘制基础散点
  geom_text(
    aes(label = label),
    hjust = 0, vjust = 0,
    nudge_x = 0.15,  # 偏移标签避免遮挡散点
    color = "darkred"
  )

可选优化

如果想要带背景的标签(更清晰),可以替换geom_text为geom_label:

ggplot(mtcars, aes(x = wt, y = mpg)) +
  geom_point(size = 2) +
  geom_label(
    aes(label = label),
    hjust = 0, vjust = 0,
    nudge_x = 0.15,
    fill = "white", alpha = 0.9,
    color = "darkred"
  )

关键说明

  • 确保target_cars里的车型名称和mtcars的行名完全一致,否则匹配失败会导致标签不显示。
  • 通过hjust、vjust和nudge_x/nudge_y可以调整标签位置,避免和散点重叠,参数值可根据实际图表调整。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 02:17:37