R语言基础图形分为创建图形与添加图形内容。
各种图形是高级绘图函数,为图形添加各种内容的函数为低级绘图函数。
绘图逻辑基本上为先创建一个图形,随后添加各种内容以完善丰富原始图形。
本本任务为简单论述创建图形及图形相关添加内容,在以后的文章中详细介绍各分类图形与图形用途。
使用plot()函数创建图形
示例:
#创建散点图
#绑定数据
attach(mtcars)
#调用plot函数
plot(wt,mpg)
#添加图形内容
#添加一条拟合线
abline(lm(mpg~wt))
#添加标题
title('Regression of MPG on Weight')
#解除数据绑定状态
detach(mtcars)
图形参数用于定义一幅图形大小、颜色、坐标轴等特征。
特征参数包括:
图形参数添加方式:
#生成数据
data <- c(2,4,1,2,1,2,6,7,5,2)
#将点换成三角形
par(pch=17)
#画出点图
plot(data)
解除par状态,Rstudio下plot面板点击扫把图标即可
也可以以opar <- par(no.readonly = TRUE)开头,par(opar)还原初始图形设置
#生成数据
data <- c(2,4,1,2,1,2,6,7,5,2)
#将点换成下三角形
plot(data,pch=25)
高级绘图函数可以指定的函数不同,可以通过help()查看可以指定的参数有哪些。如help(‘plot’)、help(‘hist’)。
参数及描述如下:
参数 | 描述 |
---|---|
pch | 指定绘制点时使用的符号 |
cex | 指定符号大小,默认为1。1.5表示放大1.5倍,0.5表示缩小50% |
lty | 指定线条类型 |
lwd | 指定线条宽度,默认为1。lwd=2将生成一条两倍于默认宽度的线条 |
颜色参数如下:
参数 | 描述 |
---|---|
col | 默认绘图颜色。col='blue’蓝色 |
col.axis | 坐标轴刻度文字的颜色 |
col.lab | 坐标轴标签颜色 |
col.main | 标题颜色 |
col.sub | 副标题颜色 |
fg | 图形前景色 |
bg | 图形背景色 |
用colors()函数可以返回颜色名称。rainbow()可以生成彩虹型颜色。
使用RColorBrewer包可以调出颜色板
library(RColorBrewer)
display.brewer.all()
文本属性用来指定字号、字体和字样。
参数 | 描述 |
---|---|
cex | 指定文本大小。默认为1 |
cex.axis | 坐标轴刻度文字的缩放倍数。类似于cex |
cex.lab | 坐标轴标签(名称)的缩放倍数 |
cex.main | 标题缩放倍数 |
cex.sub | 副标题缩放倍数 |
font | 指定文字样式。整数。1=常规,2=粗体,3=斜体,4=粗斜体,5=符号字体 |
font.axis | 坐标轴刻度文字的字体样式 |
font.lab | 坐标轴标签(名称)的字体样式 |
font.main | 标题字体样式 |
font.sub | 副标题字体样式 |
ps | 字体磅值。文本的最终大小为ps.cex |
family | 文本字体。取值serif(衬线),sans(无衬线),mono(等宽) |
参数 | 描述 |
---|---|
pin | 以英寸表示图形尺寸(宽和高) |
mai | 以数值向量表示边界大小,顺序为‘下,左,上,右’,单位为英寸 |
mar | 以数值向量表示边界大小,顺序为‘下,左,上,右’,单位为英分。默认值为c(5,4,4,2)+0.1 |
综合示例:
#生成数据
data <- c(1,2,5,3,6,4,5,1,4)
#复制图形参数便于还原
opar <- par(no.readonly = TRUE)
#设置图形大小
par(pin=c(2,2))
#设置线条宽度和符号大小
par(lwd=2,cex=1.5)
#设置坐标轴刻度文字缩放倍数及坐标轴字体样式
par(cex.axis=.75,font.axis=3)
#绘图,下三角形,红色
plot(data,pch=25,col='red')
#还原图形设置
par(opar)
许多高级绘图函数(如plot,hist)可以添加坐标轴、文本标注选项。
使用title()函数可以为图形添加标题和坐标轴标签。
调用格式为:
title(main=‘主标题’,sub=‘副标题’,xlab=‘x坐标标签’,ylab=‘y坐标标签’)
某些高级绘图函数已经包含默认标题和标签。可以通过plot(ann=FALSE)或par(ann=FALSE)移除。
函数axis()自定义坐标轴。
调用格式如下:
axis(side,at=,labels=,pos=,lty=,col=,las=,tck=,…)
选项 | 描述 |
---|---|
side | 一个整数。表示在图形哪边绘制坐标轴(1=下,2=左,3=上,4=右) |
at | 一个数值向量,表示需要绘制刻度线的位置 |
labels | 一个字符向量,表示置于刻度线旁边的文字标签 |
pos | 坐标轴线绘制位置的坐标 |
lty | 线条类型 |
col | 线条和刻度线颜色 |
las | 标签是否平行于(=0)或垂直于(=2)坐标轴 |
tck | 刻度线的长度,以相对于绘图区域大小的分数表示(负值表示在图形外侧,正值表示在图形内测,0表示禁用刻度,1表示绘制网格线)默认值为-0.01 |
… | 表示其他图形参数 |
使用abline()函数为图形添加参考线。
格式如下:
abline(h=yvalues,v=xvalues)
abline函数也可以添加线条类型、颜色和宽度等图形参数
当图中数据不止一组时,图例用于辨别图中数据属于哪一组。
使用函数legend()来添加图例。格式为:
legend(location,title,legend,…)
选项 | 描述 |
---|---|
location | 图例位置 |
title | 图例标题的字符串 |
legend | 图例标签组成的字符型向量 |
使用函数text()和mtext()将文本添加到图形上。text()可向绘图区域内部添加文本,mtext()向图形的四个边界之一添加文本。格式为:
text(location,‘text to place’,pos,…)
mtext(‘text to place’,side,line=n,…)
attach(mtcars)
plot(wt,mpg,main='Mileage vs weight',xlab = 'weight',ylab = 'Mileage',pch=18,col='blue')
text(wt,mpg,row.names(mtcars),cex=0.6,pos=4,col = 'red')
detach(mtcars)
可以使用类似于TeX中写法为图形调价数学符号和公式。
参阅help(plotmath)
查看例子demo(plotmath)
函数plotmath()可以为图形主体或边界上的标题、坐标轴名称或文本标注添加数学符号。
可以通过par()或layout()将多幅图组合为一幅总括图形。
#创建一个2行2列的图形矩阵
attach(mtcars)
opar <- par(no.readonly = TRUE)
par(mfrow=c(2,2))
plot(wt,mpg)
plot(wt,disp)
hist(wt)
boxplot(wt)
par(opar)
detach(mtcars)
layout(mat),mat为矩阵,指定所要组合的多个图形的所在位置。
#生成一个3图组合图形矩阵
#一幅放在第1行,其他放在第2行
attach(mtcars)
layout(matrix(c(1,1,2,3),2,2,byrow = TRUE))
hist(wt)
hist(mpg)
hist(disp)
detach(mtcars)
R 语 言 小 白 速 通 R语言小白速通 R语言小白速通
懂 点 R 语 言 懂点R语言 懂点R语言
欢 迎 分 享 收 藏 关 注 欢迎分享收藏关注 欢迎分享收藏关注