R语言作图学习笔记--base plot system
为什么开始写这个R语言专栏呢?
1 给自己的笔记做个云备份
2 分享自己觉得有用的学习内容
3 code is code(当我没说)
------------分割线-----------------------------------------------------------
R语言主要有三种作图系统:
1 base system,主要借助plot()函数
2 lattice system, 借助lattice包
3 ggplot system,借助ggplot2包
今天首先介绍base system,也是最容易上手,我个人比较常用的方式,内容分为三块:
(1)画一个图
(2)画多个图
(3)在一个图上分组标点
(1)画一个图
x<-rnorm(100)#数据模拟
y<-rnorm(100)
z<-rnorm(100)
hist(x)#直方图
plot(x,y)#散点图
par(mar=c(2,2,2,2))#设置图边距(图1)
plot(x,z,pch=25)#使用pch参数控制点的形状(图2)
plot(x,y,pch = 20,col="blue")#xy的实心蓝色点散点图
xlab,ylab更改标签名称
title("little scatter plot")#加标题
text(-1,-2,"test")#在(-1,-2)处添加文本
points(-2,-3,pch=2)#在(-2,-3)处标点
legend("topleft",legend="data",pch=20,col="blue")#添加标签topleft,topright,bottomleft,bottomright
fit<-lm(y~x)#线性模型
abline(fit,col="red",lwd=3)#添加回归线,lwd加粗(图3)
(2)画多个图
通过par(mfrow=c(row,column))#设置多图的行列数,画图时按行排列。
通过par(mfcol=c(row,column))#设置多图的行列数,画图时按列排列。
#par("mfrow)输出1 1,可以用来查看参数的default
#画多个图时会按行画图(右图4)
par(mfrow=c(2,3))
plot(x,y,pch=1)
plot(x,y,pch=2)
plot(x,y,pch=3)
plot(x,y,pch=4)
plot(x,y,pch=5)
plot(x,y,pch=6)
par(oma=c(0,0,3,0))#调整上边框,给总标题留出空间
mtext("123144",side = 3,line=0,outer = TRUE)#设置总标题
(3)在一个图上分组标点
#在一张图上实现多种颜色
x<-rnorm(100)#数据模拟
y<-2*x+rnorm(100)
g<-gl(2,50,labels = c("male","female"))
#gl()用于生成factor类变量
plot(x,y,type = "n")#make a plot with no points
points(x[g=="male"],y[g=="male"],col="red")#用红点表示男性
points(x[g=="female"],y[g=="female"],col="blue")#用蓝点表示女性(右图5)