R语言可视化及作图2–低级绘图函数

时间:2021-7-9 作者:qvyue

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 *** 添加背景网格线

绘图练习

  1. axis和mtext
N 
R语言可视化及作图2--低级绘图函数
  1. 添加坐标轴的演示 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)
R语言可视化及作图2--低级绘图函数
  1. 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))
R语言可视化及作图2--低级绘图函数

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

  1. text和clip
x 
R语言可视化及作图2--低级绘图函数

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

data 
R语言可视化及作图2--低级绘图函数
  1. symbols绘制气泡图
#构建数据集
mycars 
R语言可视化及作图2--低级绘图函数
N 
R语言可视化及作图2--低级绘图函数
R语言可视化及作图2--低级绘图函数

设置气泡透明度

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')
R语言可视化及作图2--低级绘图函数

⚠️调色板函数中有个参数叫alpha,也可以设置气泡的透明度。(在ggplot2中很容易实现)

  1. layout {graphics} 切分画布
    ⚠️par(mfrow)只能规规矩矩的切分成几行几列,而layout的切分更灵活
nf 
R语言可视化及作图2--低级绘图函数

关于layout函数:

nf 
R语言可视化及作图2--低级绘图函数
nf 
R语言可视化及作图2--低级绘图函数
  1. grid添加网格
op 
R语言可视化及作图2--低级绘图函数
声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:qvyue@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。