vlambda博客
学习文章列表

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

 

R语言作图学习笔记--base plot system

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

R语言作图学习笔记--base plot system


(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