中级绘图--散点图

本章,我们主要关注用于展示双变量间关系和多变量间关系的绘图方法
11.1散点图
散点图可以用来描述两个连续型变量间的关系。
R中创建散点图的基础函数是plot(x,y),其中,x和y是数值型向量,代表着图形中的(x,y)点
代码示例

attach(mtcars)
plot(wt,mpg,
     main="Basic Scatter plot of MPG vs. Weight",
     xlab="Car Weight (1bs/1000)",
     ylab = "Miles Per Gallon ",
     pch=19)
abline(lm(mpg~wt),col="red",lwd=2,lty=1)
#其中lowess()函数用来添加一条平滑曲线。
#该平滑曲线是一种基于局部加权多项式回归的非参数方法(可以看做线性回归的一种方式)
#lowess()返回回归后的$x值和$y值
lines(lowess(wt,mpg),col="blue",lwd=2,lty=2)

在这里插入图片描述

car包中的scatterplot()函数增强了散点图的许多功能
scatterplot()可以很方便地绘制散点图,并能添加拟合曲线,边界箱线图和置信椭圆,还可以按子集绘图和交互式地识别点
代码示例

library(car)
attach(mtcars)
#参数legend可以为图形添加图例,参数boxplots="xy"可以添加x轴变量及y轴变量的箱线图
#参数id=TRUE它标识(在每个组中)Mahalanobis距离数据中心最大的两个点,在car中的所有图形函数中,id的默认行为并不相同,因为使用的方法取决于绘图的类型。
scatterplot(mpg~wt|cyl,data=mtcars,lwd=2,
            main="Basic Scatter plot of MPG vs. Weight by # Cylinders",
            xlab="Weight of Car (lbs/1000)",
            ylab="Miles Per Gallon",
            legend=TRUE,
            boxplots="xy",
            id=TRUE
            )

在这里插入图片描述
11.1.1 散点图矩阵
pairs()函数可以创建基础的散点图矩阵。
代码示例

pairs(~mpg + disp + drat + wt, data=mtcars,
      main="Basic Scatter Plot Matrix")

在这里插入图片描述
从图中可以看到所有的变量间的二元关系。
需要注意的是主对角线的上方和下方的六幅散点图是相同的。可以通过参数,是的图形只显示上三角或下三角,例如upper.panel=NULL将只生成下三角图形

car包中的scatterplotMatrix()函数也可以生成散点图矩阵,并有一下可选操作
1,以某个因子为条件绘制散点图矩阵;
2,包含线性和平滑拟合曲线;
3,在主对角线放置箱线图,密度图或者直方图
4,在各单元格的边界添加轴须图

library(car)
#参数smooth=list(method=loessLine,spread=FALSE,lty.smooth=2,col.smooth='red')设定了平滑曲线的类型,颜色及线型,
#spread = FALSE表示不添加展示分散度和对称信息的直线
#diagonal可以设定一系列关于对角线图形的设置,比如选择显示密度图还是直方图等,diagonal=FALSE则不显示对角线图形
#regLine可以设定拟合直线的相关设定
scatterplotMatrix(~mpg + disp + drat + wt, data=mtcars,
                  main="Scatter Plot Matrix via car Pachage",
                  regLine=list(mod=lm,col="green",lty=1),
                  smooth=list(method=loessLine,spread=FALSE,lty.smooth=2,col.smooth='red'),
                  diagonal=TRUE)

在这里插入图片描述
R语言提供了许多其他的方式来创建散点图矩阵例如
glus包中的cpars()函数,TeachingDemos包中的pairs2()函数,HH包中的xysplom()函数,ResourceSelection包中的kepairs()函数SMPracticals包中的pairs.mod()函数

小结:
1,绘制散点图的基础函数可以使用plot()函数
2,car包中的scatterplot()函数也是用来绘制散点图的,但是相对于Plot()函数,它可以添加拟合曲线,拟合直线,边界箱线图等附件。算是绘制散点图的高级函数。
3,绘制散点图矩阵的基础函数为pairs()函数
4,car包中的scatterplotMatrix()函数也可以绘制散点图矩阵,但是相对于pairs()函数来说,它可以添加拟合曲线,拟合直线,轴须图,并在主对角线上绘制箱线图,密度图或者直方图。算是绘制散点图矩阵的高级函数。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值