plot是R语言中最常用的绘图函数,如果是单纯作图而不是专注图是否漂亮,这个函数基本够用。如果自己还要想画出个性化图,就得通过设置这个函数的各种参数了,R语言绘图参数很复杂,这里列出说明常用的作图参数。
plot函数的默认参数
对于简单的散点图,R语言默认参数就够了,不需要自己设置参数。默认参数就是,直接给出画图变量,一些参数已经有参数值,一般为TRUE。这样就不用比如我们要画一个简单的散点图就要设置一大堆参数,还可以修改参数值。下面列出R语言plot()函数默认的一些参数,说明其功能。
这里用到数据集cars,只有两列,查看前六行:
head(cars)
speed dist
1 4 2
2 4 10
3 7 4
4 7 22
5 8 16
6 9 10
一般对于变量x、y,只需plot(x,y)即可,对于一个两列的数据框,比如cars数据集,它只有两列,只需plot(cars)即可,R就会自动以cars的第一列作为自变量、第二列作为因变量画出图。
plot(cars)
这简单的一句命令就可以画出:
殊不知,这简单的一句命令plot()函数包含了多少默认参数值,还好是默认的,否则我们的数学统计学家得有多累!还是查看文档。学习一门语言,查看官方帮助文档是最好的方法! 查看R语言帮助文档"?plot",点击"plot.default",会出现默认参数说明页面。默认参数格式是这样:
plot(x, y = NULL, type = "p", xlim = NULL, ylim = NULL, log = "", main = NULL, sub = NULL, xlab = NULL, ylab = NULL, ann = par("ann"), axes = TRUE, frame.plot = axes, panel.first = NULL, panel.last = NULL, asp = NA, ...)
参数说明:
x,y:自然就是作为x,y轴的变量,长度要求一样,y可以为空,也就是只给出一个变量,这时就以1,2,3,...序列为x轴,给出的这个变量为y轴。分别就y为空和不为空做出图:
par(mfrow = c(1,2)) #画图区域分成一行两列
plot(cars[,1])
plot(cars)
type:就是画图类型,默认取值为"p"就是散点图,比如取值为"b"就有点也有线:
par(mfrow = c(1,2))
plot(cars,main = '散点图')
plot(cars,type = 'b',main = '点、线图')
xlim、ylim:指定x、y坐标轴的范围(当然了,前提是显示坐标轴),比如:
par(mfrow = c(1,2))
plot(cars,main = '未指定x范围')
plot(cars,xlim = c(0,30),main = '指定x范围')
main:是否给图形加标题,下面代码画了两幅图,一幅图有标题,一幅没有:
par(mfrow = c(1,2))
plot(cars)
plot(cars,main = '加标题')
sub:替补标题,相当于又给图形加了一个标题。
par(mfrow = c(1,2))
plot(cars,main = '标题区域')
plot(cars,main = '标题区域',sub = '我是替补标题')
ann:取值TRUE或者FALSE,默认为TRUE,决定是否标出x、y轴变量名及图形标题。
par(mfrow = c(1,2))
plot(cars,ann = FALSE,main = '测试')
plot(cars,ann = TRUE,main = '测试')
当ann取值为"FALSE"时,不显示坐标变量名,并且即使指定“main = '测试'”也不显示图形标题。
axes:取值TRUE或者FALSE,默认为TRUE,决定是否标出x、y轴。
par(mfrow = c(1,2))
plot(cars,axes = FALSE)
plot(cars)
frame.plot:取值TRUE或者FALSE,默认为TRUE,是否在图形周围画出一个方框。
par(mfrow = c(1,2))
plot(cars,frame.plot = FALSE)
plot(cars)
plot函数常用参数
pch:点的形状,一般取值1~25,取值不同,画图的点的形状就不同。默认取值为1,空心圆圈点。
col:颜色
par(mfrow = c(1,2))
plot(cars)
plot(cars,col = 'blue')
bg:点的背景颜色,当pch=21~25时,否则即使设置了背景颜色也不管用。
par(mfrow = c(1,2))
plot(cars,bg = 'red')
plot(cars,pch = 22,bg = 'red')
cex:点的大小,取值越大,点越大
par(mfrow = c(1,2))
plot(cars,cex = 0.5)
plot(cars,cex = 1)
网友评论