R语言进阶之图形参数

2020-08-05 17:13:38 浏览数 (1)

‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍1. 概述

R语言是即使一款功能强大的统计语言,也是一款内容丰富的绘图工具。从原则上讲,你可以用R语言绘制出你能‍‍想到的任何图形。‍‍‍‍

‍‍‍‍‍‍‍‍

你可以使用‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍par()‍‍‍‍‍‍‍‍‍‍‍‍‍函数来设置绘图的相关参数(字体、坐标轴、标题等‍),这种方式设置的绘图参数会对后续的绘图进程持续有效,‍除非你修改这些参数。

代码语言:javascript复制
# 使用par()函数设置绘图参数
par()              # 查看当前的绘图参数
opar <- par()      # 复制当前的绘图参数
par(col.lab="red") # 设置x轴和y轴的标签颜色为红色
hist(mtcars$mpg)   # 用新设置的绘图参数绘图(mtcars是R中的内置数据集)
par(opar)          # 恢复最初的绘图参数

‍‍‍‍‍‍‍‍‍‍‍

‍‍‍‍另一种指定绘图参数的方法就是直‍接在绘图函数中设置,比如直接在‍‍hist()‍‍函数里就可以‍指定标签的颜色:

代码语言:javascript复制
# 直接在hist()函数里指定标签颜色为红色
hist(mtcars$mpg, col.lab="red")

‍‍

关于如何在不同绘图函数中设置绘图参数,请参见R语言入门系列。‍‍‍

接下来我将主要讲解一些重要的绘图参数,这‍对于后续内容的学习至关重要。

‍‍‍‍‍ ‍‍2. 文本和符号的大小‍‍‍

下面的表格列出一些常见控制文本和符号尺寸的选项:

‍‍选项

描述‍‍

cex

用于指定文本和符号的大小,其值代表绘图符号相对于默认大小的缩放倍数,默认值为1,1.5表示放大为默认值的1.5倍,而0.5则表示缩小为默认值的0.5倍

cex.axis

指定坐标轴刻度文字的缩放倍数

cex.lab

指定坐标轴标签的缩放倍数

cex.main

指定标题的缩放倍数

cex.sub

指定副标题的缩放倍数

3. 绘图符号

我们可以使用pch=这个参数去指定图中点的形状,它的值是数字,不同数字代表不同的符号,对于21~25号,我们需要指定边框的颜色(col=)和填充色(bg=)。具体关系如下图所示:

‍‍‍

‍‍‍

4. 线条

关于线条的相关选项如下表:

选项

描述

lty

指定线条的形状,如下图所示

lwd

指定线条的宽度,2表示线宽是默认值的两倍

‍‍‍

5. 颜色

‍‍

下表列出与颜色相关的选项:

‍‍

‍‍‍

‍‍

‍‍‍‍选项‍

描述

col

默认的颜色参数

col.axis

指定坐标轴刻度的颜色

col.lab

指定坐标轴标签的颜色

col.main

指定标题的颜色

col.sub

指定副标题的颜色

fg

指定前景色

bg

指定背景色

在R语言中,你可以通过编号、名称、十六进制符或者RGB的方式来指定具体的颜色,比如col=1col="white"col="#FFFFFF" 都表示的是白色。

下图就是R语言中各个颜色的编号:‍‍

‍‍ ‍

你也可以使用rainbow(n), heat.colors(n), terrain.colors(n),topo.colors(n), and cm.colors(n)这些函数来创建颜色,具‍体内容大家自行学习,‍这里就不赘述了。‍

‍你可以使用‍‍‍‍colors()‍‍‍‍函数来获取R中所有的颜色名称。‍‍

6. 字体

在R中,你可以非常方便地去设置字体的尺寸和样式: ‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍

‍选项

‍‍‍‍match‍‍描‍‍述‍‍

font

指定使用的字体,1是普通字体, 2代表粗体, 3代表斜体。

font.axis

指定坐标轴刻度的字体

font.lab

指定坐标轴标签的字体

font.main

指定标题的字体

font.sub

指定副标题的字体

ps

字体点的尺寸 (大约为1/72英尺),文本尺寸=ps*cex

family

指定文本的字体家族,标准值包括Standard values are "serif", "sans", "mono", "symbol"。

在实践中,我们通常会建立字体家族的映射,用简单的符号标记特定的字体家族,如下就是一个实例:

代码语言:javascript复制
# 字体家族的映射关系
plot(1:10,1:10,type="n")
windowsFonts(
  A=windowsFont("Arial Black"),
  B=windowsFont("Bookman Old Style"),
  C=windowsFont("Comic Sans MS"),
  D=windowsFont("Symbol")
)
text(3,3,"Hello World Default")
text(4,4,family="A","Hello World from Arial Black")
text(5,5,family="B","Hello World from Bookman Old Style")
text(6,6,family="C","Hello World from Comic Sans MS")
text(7,7,family="D", "Hello World from Symbol")

‍‍‍‍

‍‍‍‍

‍‍‍‍

‍‍‍‍‍‍‍‍‍‍‍‍‍关于绘图参数的讲解就先到这里,这部分的内容在后续的绘图中非常重要,希望大家熟练掌握!

0 人点赞