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

Base R中箱线图自定义调整:标签修改、字体更换、抖动点高亮

R语言基础绘图实现箱线图+抖动点自定义需求方案

以下三个需求均无需修改原始数据集即可实现,具体实现逻辑和完整代码如下:

需求1:替换横轴分类标签

  • 可以实现,无需修改原始数据集。boxplot()函数自带names参数,直接按分类顺序传入自定义标签c("No", "Yes")即可替换默认的0/1标签。

需求2:全局字体改为Times New Roman

  • 通过基础绘图的全局参数设置函数par()即可指定字体,不同操作系统的字体调用逻辑略有差异:
    • Windows系统需要先注册Times New Roman字体再调用
    • Mac/Linux系统可直接指定字体名称调用

需求3:高亮指定抖动点并标注数值

  • 直接通过逻辑筛选定位目标点坐标即可,无需修改原数据集:
    • vs=1分组对应x轴位置为2,先筛选出该分组的最高mpg值作为y轴坐标
    • 用points()函数重新绘制该点,自定义颜色、大小实现高亮
    • 用text()函数在目标点附近添加数值标注即可
完整可运行代码
# 适配Windows系统的Times New Roman字体注册,Mac/Linux系统可注释该行
windowsFonts(Times = windowsFont("Times New Roman"))
# 设置全局字体为Times New Roman,Mac/Linux系统将family值改为"Times New Roman"即可
par(family = "Times")

# 绘制箱线图,直接指定自定义横轴标签
boxplot(mpg ~ vs, data = mtcars,
        names = c("No", "Yes"))
# 添加抖动点
stripchart(mpg ~ vs, data = mtcars,
           method = "jitter",
           vertical = TRUE,
           add = TRUE)

# 筛选vs=1分组的最高mpg值
target_mpg <- max(mtcars$mpg[mtcars$vs == 1])
# 高亮目标点:红色、实心、放大2倍
points(x = 2, y = target_mpg, col = "red", cex = 2, pch = 19)
# 在目标点上方标注mpg数值,保留1位小数
text(x = 2, y = target_mpg, labels = round(target_mpg, 1), pos = 3, col = "red")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 22:45:03