R-可视化(三):散点图

1.基本图形

library(ggpubr)
ggscatter(mtcars, x = "wt", y = "mpg",
          ggtheme =  theme_bw())

在这里插入图片描述

2.添加点的标签

  • 分组添加点的标签
mtcars$name <- rownames(mtcars)
ggscatter(mtcars, x = "wt", y = "mpg",
          color = "cyl",                  # 按‘cyl’分组
          palette = "jco",
          label = "name",                 # 添加点的标签
          repel = T)                      # 避免过度绘制文本标签

在这里插入图片描述

  • 选择部分标签展示
ggscatter(mtcars, x = "wt", y = "mpg",
          color = "cyl", 
          palette = "jco",
          label = "name",
          repel = TRUE,
          label.select = c("Toyota Corolla", "Merc 280", "Duster 360"))

在这里插入图片描述

  • 根据x,y值展示标签
ggscatter(mtcars, x = "wt", y = "mpg",
          color = "cyl",
          palette = "jco",
          label = "name",
          font.label = c(12,'black'),  # 调整标签的大小、颜色
          repel = TRUE,
          label.select = list(criteria = "`x` > 5 & `y` < 15"))

3.气泡图:四个变量的散点图

p = ggscatter(mtcars, x = "wt", y = "mpg",
          color = "cyl", 
          palette = "jco",
          size = "qsec",               # 'qsec'的值决定点的大小
          alpha = 0.5,
) +
  scale_size(range = c(0.5, 13))       # 调整点的尺寸范围
  ggpar(p,legend = 'right')            # 调整图例位置

在这里插入图片描述

4.回归拟合

  • 标准图形
ggscatter(mtcars, x = "wt", y = "mpg",
          size = 1.5,                         # 点的大小为1.5
          add = "reg.line",                   # 添加回归直线
          conf.int = TRUE,                    # 添加置信区间
          add.params = list(color = "black",  # 设置回归直线、置信域的颜色
                          fill = "#FF9900"),
          ggtheme = theme_bw()
)+
  stat_cor(method = "pearson",                # 添加pearson相关系数,以及相应的P值
           label.x = 3, 
           label.y = 30)  

在这里插入图片描述

  • 4.2.相关系数换为决定系数
ggscatter(mtcars, x = "wt", y = "mpg", 
          size = 1.5,
          add = "reg.line",
          conf.int = TRUE,                                   
          add.params = list(color = "black",
                            fill = "#FF9900"),
          ggtheme = theme_bw()
) +
  stat_cor(method = "spearman",     
           aes(label = paste(..rr.label.., ..p.label.. ,sep = "~`,`~")), # 添加决定系数
           label.x = 3
)

在这里插入图片描述

  • 分组绘制回归直线
mtcars$cyl = as.factor(mtcars$cyl)
ggscatter(mtcars, x = "wt", y = "mpg",
          add = "reg.line",                          
          conf.int = TRUE,                           
          color = "cyl",                  # 按"cyl"分组
          shape = "cyl" ,                 # 按"cyl"组改变点的形状
          palette = "jco", 
)+
  stat_cor(aes(color = cyl), label.x = 3)  

在这里插入图片描述

  • 延长回归线
ggscatter(df, x = "wt", y = "mpg",
          add = "reg.line",                          
          color = "cyl",           
          shape = "cyl",  
          palette = "jco",                          
          fullrange = TRUE,                # 延长回归线
          rug = TRUE                       # 添加轴须线
)+
  stat_cor(aes(color = cyl), label.x = 3)  

在这里插入图片描述

  • 分面绘制回归直线
ggscatter(mtcars, x = "wt", y = "mpg",
          add = "reg.line",                          
          color = "cyl",           
          shape = "cyl",  
          palette = "jco",                          
          facet.by = 'cyl',                # 按‘cyl’分面
          fullrange = TRUE,                # 延长回归线
) +
  stat_cor(aes(color = cyl), label.y = 40)   

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值