R语言绘图系列:
- R语言可视化及作图1–基础绘图(par函数,散点图,盒形图,条形图,直方图)
低级函数合集:
Functions | Frequency | Functions |
---|---|---|
arrows | *** | 在图上添加箭头 |
axis | ***** | 绘制坐标轴 |
box | *** | 绘制图形边框 |
abline | ***** | 添加直线 |
clip | *** | 剪切图形,将图形分割成几个部分 |
curve | *** | 添加曲线 |
locate | ***** | 识别图中点的坐标 |
layout | ***** | 切分画布 |
legend | ***** | 添加图例 |
lines | ***** | 添加线条(直线和曲线) |
segments | *** | 添加线段 |
rug | * | 添加小地毯 |
points | *** | 添加点 |
polygon | *** | 多边形 |
symbols | **** | 添加标记,也可以画气泡图 |
titles | ***** | 添加标题 |
text | ***** | 添加文字 |
mtext | **** | 在图像四周添加文字 |
grid | *** | 添加背景网格线 |
绘图练习
- axis和mtext
N

- 添加坐标轴的演示 axis abline curve
plot(rnorm(100),axes = FALSE,col='orange',pch=16,ylab = 'scatter points',xlab = 'x axis',ylim = c(-3.5,3.5)) #不显示坐标轴
axis(1,at=seq(0,100,10),labels = LETTERS[1:11],col = 'red',lwd = 1.3,col.ticks = 'pink')
#at参数定义横坐标间隔(刻度),从0-100每10个值取1个。labels是每个刻度的标签。
#x轴的A如果没有出现的是散点的取值范围和x轴的取值范围不一致所致,在第一行代码后面添加xlim=c(0,100)即可解决(与at后的取值保持一致即可)
axis(2,at=seq(-3,3,1),col = 'blue',lwd = 1.3,col.ticks = 'sky blue') #添加纵坐标
abline(h=0,col='red',lwd=2,lty=2) #添加一条横线 h=0表示水平线,y=0
abline(v=4,col='black') #添加一条竖线 v=4表示是垂直线,x=4
curve(sin,0,100,add=TRUE)

- legend添加图例
a=c(1:5);b=c(5,3,4,5,5);c=c(4,5,4,3,1) #随便生成三个变量
plot(b~a,type='b',bty='l',xlab='value of a',ylab = 'value of b',col=rgb(0.2,0.4,0.1,0.7),lwd=3,pch=17,ylim=c(1,5))
lines(c~a,col=rgb(0.8,0.4,0.1,0.7),lwd=3,pch=19,type='b')
#添加图例
legend('bottomleft',
#位置参数,接受一个字符串,比如‘topright'表示右上方,也接受坐标,比如3,5
legend=c('Group 1','Group 2'),
col=c(rgb(0.2,0.4,0.1,0.7),
rgb(0.8,0.4,0.1,0.7)),#定义图例的填充颜色
pch=c(17,19),
bty='n',#定义边框,此处为不要边框
pt.cex=2, #图标的大小
cex=1.2, #文字的大小
text.col='black', #文字的颜色
horiz=F, #是否水平放置
inset=c(0.1,0.1))

⚠️在不确定将图例添加在什么位置时,可使用locator函数。
locator()函数可以定位图上的点。运行locator函数之后在图上随便点一个点,点击finish就会返回刚刚那个点的位置坐标。
- text和clip
x

使用text函数在每个条图下面添加标签
data

- symbols绘制气泡图
#构建数据集
mycars

N


设置气泡透明度
par(bg='white')#定义白色背景
par(mar=c(0.8,0.8,0.8,0.8))#定义画布大小
a=seq(1:100)+0.1*seq(1:100)*sample(c(1:10),100,replace = T)
b=seq(1:100)+0.2*seq(1:100)*sample(c(1:10),100,replace = T)
#产生两个数据
plot(a,b,xlim=c(10,200),ylim = c(10,200),pch=20,bg='white',cex=3+(a/30),
col=rgb(a/300,b/300,0.9,0.9))
#画散点图,重点是col参数。这里调用了rgb()函数,这也是一个调色板函数。这个函数中有个参数叫alpha,可以设置透明度
abline(h=c(0,50,100,150),v=c(0,50,100,150),col='whitesmoke')

⚠️调色板函数中有个参数叫alpha,也可以设置气泡的透明度。(在ggplot2中很容易实现)
- layout {graphics} 切分画布
⚠️par(mfrow)只能规规矩矩的切分成几行几列,而layout的切分更灵活
nf

关于layout函数:
nf

nf

- grid添加网格
op
