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

ggplot2中stat_cor函数:如何将R值与p值分两行显示

解决ggplot2 stat_cor分两行显示R值与p值的问题

当然可以实现分两行展示的效果!其实只需要给stat_cor()函数调整一个参数就搞定了,下面是具体方法和示例:

核心方法:修改label.sep参数

stat_cor()默认用", "(逗号加空格)分隔R值和p值,我们只需要把这个分隔符换成换行符"\n",就能让两个数值分两行显示。

完整代码示例

这里用经典的mtcars数据集做演示:

library(ggplot2)
library(ggpubr) # stat_cor属于ggpubr包,需要先加载它

# 绘制散点图+线性拟合线,同时添加分两行的相关性标注
ggplot(mtcars, aes(x = wt, y = mpg)) +
  geom_point(color = "#2E86AB") +
  geom_smooth(method = "lm", se = FALSE, color = "#F24C4E") +
  stat_cor(label.sep = "\n") # 关键参数:用换行符分隔标签内容

进阶自定义(可选)

如果需要调整标注的细节,比如小数位数、标签位置、甚至R值的显示名称,可以额外添加参数:

ggplot(mtcars, aes(x = wt, y = mpg)) +
  geom_point(color = "#2E86AB") +
  geom_smooth(method = "lm", se = FALSE, color = "#F24C4E") +
  stat_cor(
    label.sep = "\n",
    cor.coef.name = "Pearson's r", # 把默认的R改成Pearson相关系数的全称
    digits = 3, # 设置相关系数和p值的小数位数
    label.x = 4, # 手动调整标签的x轴位置
    label.y = 30 # 手动调整标签的y轴位置
  )

这样你就能得到完全符合需求的、分两行显示的相关性标注啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 07:31:10