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)   

在这里插入图片描述

Python 是一种非常流行的编程语言,可以用来进行多种数据分析和可视化操作。在数据可视化方面,Python 提供了许多强大且易于使用的库和工具。例如,Matplotlib 库可以用来绘制各种类型的图表,包括散点图。这个库支持多种不同的维绘图方式,可以很方便地绘制出各种形状和颜色的散点图。 在 Python 中绘制散点图的过程非常简单,只需几行代码即可完成。在绘制散点图之前,需要先导入 Matplotlib 和相应的维绘图模块。然后,定义要绘制的数据集,将其传递给 plot 函数,并设置相应的参数,如点的大小和颜色等。最后,显示图表即可。例如,下面是一个简单的绘制散点图的示例代码: ``` import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D # 定义数据集 x = [1, 2, 3, 4, 5] y = [2, 4, 6, 8, 10] z = [3, 6, 9, 12, 15] # 绘制 3d 散点图 fig = plt.figure() ax = fig.add_subplot(111, projection='3d') ax.scatter(x, y, z, s=50, c='r', marker='o') # 设置图表参数 ax.set_xlabel('X Label') ax.set_ylabel('Y Label') ax.set_zlabel('Z Label') # 显示图表 plt.show() ``` 在上面的代码中,我们定义了一个简单的数据集,包括 x、y 和 z 个变量的值。然后,我们使用 Matplotlib 的 scatter 函数绘制了散点图。我们设置了点的颜色为红色,大小为 50,标记为圆形。最后,我们还设置了 x、y 和 z 轴的标签,以及整个图表的标题。运行上述代码后,将会弹出一个散点图窗口,可以看到数据的分布情况。 当然,这只是一个简单的示例。Matplotlib 还提供了许多高级的参数和选项,可以用来定制不同类型的散点图,例如添加颜色映射、改变点的形状和大小等等。此外,除了 Matplotlib 之外,Python 还有其他优秀的可视化工具,例如 Plotly 和 Bokeh 等,可以用来绘制丰富的维图表和动态图表,可以大大提高数据分析和可视化的效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值