R语言绘图之plot
Quick-R: Graphs (statmethods.net)
Quick-R: Scatterplots (statmethods.net)
数据分析师转向 R 的主要原因之一是其强大的图形功能。
在R中,图形通常是交互式创建的。
head(mtcars) #自带数据集 mpg cyl disp hp drat wt qsec vs am gear carb Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4 Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4 Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1 Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1 Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2 Valiant 18.1 6 225 105 2.76 3.460 20.22 1 0 3 1
# Creating a Graph attach(mtcars) plot(wt, mpg) abline(lm(mpg~wt)) title("Regression of MPG on Weight")
当然,你可以把图片保存成你想要的格式
散点图 Scatterplots
散点图是将所有的数据以点的形式展现在直角坐标系上,以显示变量之间的相互影响程度,点的位置由变量的数值决定,每个点对应一个 X 和 Y 轴点坐标。
有许多方法可以创建 R 中的散射图。基本函数是绘图(x, y),其中x和y是表示 (x,y) 指向绘图的数字矢量。
散点图可以使用 plot() 函数来绘制,help(plot)可查看更多功能,语法格式如下:
plot(x, y, type="p", main, xlab, ylab, xlim, ylim, axes)
Quick-R: Graphical Parameters (statmethods.net)
-
x 横坐标 x 轴的数据集合
-
y 纵坐标 y 轴的数据集合
- type:绘图的类型,p 为点、l 为直线, o 同时绘制点和线,且线穿过点。
-
main 图表标题。
-
xlab、ylab x 轴和 y 轴的标签名称。
-
xlim、ylim x 轴和 y 轴的范围。
-
axes 布尔值,是否绘制两个 x 轴。
type 参数可选择值:
- p:点图
- l:线图
- b:同时绘制点和线
- c:仅绘制参数 b 所示的线
- o:同时绘制点和线,且线穿过点
- h:绘制出点到横坐标轴的垂直线
- s:阶梯图,先横后纵
- S:阶梯图,先纵后竖
- n: 空图
- col : 默认的绘图颜色。某些函数(如lines和pie)可以接受一个含有颜色值的向量并自动循环使用。例如,如果设定col=c(red, blue)并需要绘制三条线,则第一条线将为红色,第二条线为蓝色,第三条线又将为红色
- pch : 对应点的形状
- lty : 线条类型
- lwd : 指定线条宽度。lwd是以默认值的相对大小来表示的(默认值为1)。例如,lwd=2将生成一条两倍于默认宽度的线条.
- col.axis : 坐标轴刻度文字的颜色
- col.lab : 坐标轴标签(名称)的颜色
- col.main : 标题颜色
- col.sub : 副标题颜色
- fg : 图形前景色
- bg : 图形背景色
- cex : 指定符号的大小。cex是一个数值,表示绘图符号相对于默认大小的缩放倍数。默认大小为1,1.5表示放大为默认值的1.5倍,0.5表示缩小为默认值的50%,等等
- cex.axis : 坐标轴刻度文字的缩放倍数。类似于cex
- cex.lab : 坐标轴标签(名称)的缩放倍数。类似于cex
- cex.main : 标题的缩放倍数。类似于cex
- cex.sub : 副标题的缩放倍数。类似于cex
- font : 整数。用于指定绘图使用的字体样式。1=常规,2=粗体,3=斜体,4=粗斜体,5=符号字体(以Adobe符号编码表示)
- font.axis: 坐标轴刻度文字的字体样式
- font.lab : 坐标轴标签(名称)的字体样式
- font.main: 标题的字体样式
- font.sub: 副标题的字体样式
- ps : 字体磅值(1磅约为1/72英寸)。文本的最终大小为 ps*cex
- family : 绘制文本时使用的字体族。标准的取值为serif(衬线)、sans(无衬线)和mono(等宽)
- pin : 以英寸表示的图形尺寸(宽和高)
- mai : 以数值向量表示的边界大小,顺序为“下、左、上、右”,单位为英寸
- mar : 以数值向量表示的边界大小,顺序为“下、左、上、右”,单位为英分*。默认值为c(5, 4, 4, 2) + 0.1
标题: title
坐标轴: axis
参考线: abline
图例:legend
文本标注:(绘图区域内部添加文字),mtext(图形四个边界添加文字)
绘制简单的一个点
plot(10,10) #直接给出数据
#绘制多个点:本处3个点 x <- c(10,20,30) y <- c(30,40,50) plot(x,y)
也可以画成一条直线
plot(x,y,'l')
点和线
plot(x,y,'o')
plot(x,y,'b')
plot(x,y,'c') # 仅绘制出参数为b时所示的直线
# 添加标题等 plot(x, y, "l",main="plot函数绘图演示",xlab="x值",ylab="y值",col='blue')
# Simple Scatterplot attach(mtcars) plot(wt, mpg, main="Scatterplot Example", xlab="Car Weight ", ylab="Miles Per Gallon ", pch=19) # Add fit lines abline(lm(mpg~wt), col="red") # regression line (y~x) lines(lowess(wt,mpg), col="blue") # lowess line (x,y)
在 R 中,可以通过函数 lm() 进行线性回归, lm(formula,data) 。 R – 线性回归 | 菜鸟教程 (runoob.com)
局部加权回归,lowess()
散点图矩阵是借助两变量散点图的作图方法,它可以看作是一个大的图形方阵,其每一个非主对角元素的位置上是对应行的变量与对应列的变量的散点图。
而主对角元素位置上是各变量名,这样,借助散点图矩阵可以清晰地看到所研究多个变量两两之间的相关关系。 pairs(formula, data), formula 变量系列,data 变量的数据集。
# Basic Scatterplot Matrix pairs(~mpg+disp+drat+wt,data=mtcars, main="Simple Scatterplot Matrix")