R语言基础图形综述

R语言基础图形分为创建图形与添加图形内容。

  • 创建图形
    • 条形图
    • 饼图
    • 直方图
    • 核密度图
    • 箱线图
    • 点图
    • 散点图
    • 折线图
    • 相关图
    • 马赛克图
  • 添加图形内容
    • 图形参数:符号、线条、颜色、文本属性、图形尺寸与边界尺寸
    • 标题、坐标轴、图例

各种图形是高级绘图函数,为图形添加各种内容的函数为低级绘图函数。

绘图逻辑基本上为先创建一个图形,随后添加各种内容以完善丰富原始图形。

本本任务为简单论述创建图形及图形相关添加内容,在以后的文章中详细介绍各分类图形与图形用途。

图形创建与保存

创建

使用plot()函数创建图形

示例:

#创建散点图
#绑定数据
attach(mtcars)
#调用plot函数
plot(wt,mpg)
#添加图形内容
#添加一条拟合线
abline(lm(mpg~wt))
#添加标题
title('Regression of MPG on Weight')
#解除数据绑定状态
detach(mtcars)

在这里插入图片描述

保存

  • Rstudio下点击右下角plot面板export-Save as Image命令。
  • Rstudio下点击右下角plot面板,左右箭头可以显示前一个和后一个创建的图形
  • 也可以使用dev相关函数,具体参考help(dev.cur)

图形参数

图形参数用于定义一幅图形大小、颜色、坐标轴等特征。

特征参数包括:

  • 符号和线条
  • 颜色
  • 文本属性
  • 图形尺寸与边界尺寸

图形参数添加方式:

  • 一种是通过函数par()来指定,这种方式设置的参数值在会话结束前一直有效。调用格式为par(选项=值)。
#生成数据
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将生成一条两倍于默认宽度的线条

pch类型如下:
在这里插入图片描述
lty类型如下:
在这里插入图片描述

颜色

颜色参数如下:

参数 描述
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()将多幅图组合为一幅总括图形。

  • par()函数添加参数mforw=c(nrows,ncols)来创建按行填充,行数为nrows,列数为ncols的图形矩阵。

par()

#创建一个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()

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语言
欢迎分享收藏关注

发布了38 篇原创文章 · 获赞 13 · 访问量 3290

猜你喜欢

转载自blog.csdn.net/renewallee/article/details/103078317