chapter03 图形初步
图形初步
1、基本图形
plot(o_data,type=”b”,main=”主标题”,sub=”子标题”,xlab=”年龄”,ylab=”周长”)
2、符号与线条
参数 | 含义 |
---|---|
pch | 指定绘制点时使用的符号 |
cex | 指定符号的大小。cex是一个数值,表示绘图符号相对于默认大小的缩放倍数。默认大小为1, 1.5表示放大为默认值的1.5倍, 0.5表示缩小为默认值的50%,等等 |
lty | 指定线条类型 |
lwd | 指定线条宽度。 lwd是以默认值的相对大小来表示的(默认值为1)。例如, lwd=2将生成一条两倍于默认宽度的线条 |
|
|
3、颜色
参数 | 含义 |
---|---|
col | 默认的绘图颜色。某些函数(如lines和pie)可以接受一个含有颜色值的向量并自动循环使用。 例如, 如果设定col=c(“red”, “blue”)并需要绘制三条线,则第一条线将为红色,第二条线为蓝色,第三条线又将为红色 |
col.axis | 坐标轴刻度文字的颜色 |
col.lab | 坐标轴标签(名称)的颜色 |
col.main | 标题颜色 |
col.sub | 副标题颜色 |
fg | 图形的前景色 |
bg | 图形的背景色 |
在R中,可以通过颜色下标、颜色名称、十六进制的颜色值、 RGB值或HSV值来指定颜色。举例来说, col=1、 col=”white”、 col=”#FFFFFF”、 col=rgb(1,1,1)和col=hsv(0,0,1)都是表示白色的等价方式。
rainbow(n)
生成n种连续的彩虹色gran(0:n/n)
生成N阶灰度色
4、文本属性
用于指定文本大小的参数:
参数 | 含义 |
---|---|
cex | 表示相对于默认大小缩放倍数的数值。默认大小为1, 1.5表示放大为默认值的1.5倍, 0.5表示缩小为默认值的50%,等等 |
cex.axis | 坐标轴刻度文字的缩放倍数。类似于cex |
cex.lab | 坐标轴标签(名称)的缩放倍数。类似于cex |
cex.main | 标题的缩放倍数。类似于cex |
cex.sub | 副标题的缩放倍数。类似于cex |
用于指定字体族、字号和字样的参数:
参数 | 含义 |
---|---|
font | 整数。用于指定绘图使用的字体样式。 1=常规, 2=粗体, 3=斜体, 4=粗斜体,5=符号字体(以Adobe符号编码表示) |
font.axis | 坐标轴刻度文字的字体样式 |
font.lab | 坐标轴标签(名称)的字体样式 |
font.main | 标题的字体样式 |
font.sub | 副标题的字体样式 |
ps | 字体磅值(1磅约为1/72英寸)。文本的最终大小为 ps*cex |
family | 绘制文本时使用的字体族。标准的取值为serif (衬线)、 sans (无衬线)和mono(等宽) |
在Windows中,可以通过函数windowsFont()来创建字体簇这类映射。在Mac上,请改用quartzFonts()。
使用时为par(family=A)
默认在Windows系统中,等宽字体映射为TT Courier New,衬线字体映射为TT Times New Roman,无衬线字体则映射为TT Arial(TT代表True Type)
若使用pdf输出图形,可以使用names(pdfFonts())
找出那些字体可用,然后使用pdf(file="myplot.pdf", family="fontname")
5、图形尺寸
用于控制图形尺寸和边界大小的参数:
参数 | 含义 |
---|---|
pin | 以英寸表示的图形尺寸(宽和高) |
mai | 以数值向量表示的边界大小,顺序为“下、左、上、右”,单位为英寸 |
mar | 以数值向量表示的边界大小,顺序为“下、左、上、右”,单位为英分(1/12英寸)。默认值为c(5, 4, 4, 2) + 0.1 |
par(pin=c(4,3),mar=c(5,0.5,5,0.5))
6、自定义文本坐标轴和图例
par()
或者plot()
中添加ann=FALSE
来移除默认的标题和标签
1、自定义坐标轴
axis(side,at=,labels=,pos=,lty=,col=,las=,tck=,…)
使用自定义坐标轴应当禁用自动坐标轴:axes=FALSE
- 将禁用全部坐标轴(包括坐标轴框架线,除非你添加了参数frame.plot=TRUE)。参数xaxt=”n”和yaxt=”n”将分别禁用X轴或Y轴(会留下框架线,只是去除了刻度)。
坐标轴选项
参数 | 含义 |
---|---|
side | 一个整数,表示在图形的哪边绘制坐标轴(1=下, 2=左, 3=上, 4=右) |
at | 一个数值型向量,表示需要绘制刻度线的位置 |
labels | 一个字符型向量,表示置于刻度线旁边的文字标签(如果为NULL,则将直接使用at中的值) |
pos | 坐标轴线绘制位置的坐标(即与另一条坐标轴相交位置的值) |
lty | 线条类型 |
col | 线条和刻度线颜色 |
las | 标签是否平行于(=0)或垂直于(=2)坐标轴 |
tck | 刻度线的长度,以相对于绘图区域大小的分数表示(负值表示在图形外侧,正值表示在图形内侧, 0表示禁用刻度, 1表示绘制网格线);默认值为-0.01 |
|
|
2、次要刻度线
使用包Hmisc 中的minor.tick()函数。
|
|
3、参考线
abline()
为图形添加参考线:abline(h=yvalues,v=xvalues)
,其中也可以指定其他参数
4、图例
legend(location,title,legend,…)
参数 | 含义 |
---|---|
location | 有许多方式可以指定图例的位置。你可以直接给定图例左上角的x、 y坐标,也可以执行locator(1),然后通过鼠标单击给出图例的位置,还可以使用关键字bottom、 bottomleft、left、 topleft、 top、 topright、 right、 bottomright或center放置图例。如果你使用了以上某个关键字,那么可以同时使用参数inset=指定图例向图形内侧移动的小(以绘图区域大小的分数表示) |
title | 图例标题的字符串(可选) |
legend | 图例标签组成的字符型向量 |
… | 其他选项。如果图例标示的是颜色不同的线条,需要指定col=加上颜色值组成的向量。如果图例标示的是符号不同的点,则需指定pch=加上符号的代码组成的向量。如果图例标示的是不同的线条宽度或线条类型,请使用lwd=或lty=加上宽度值或类型值组成的向量。要为图例创建颜色填充的盒形(常见于条形图、箱线图或饼图),需要使用参数fill=加上颜色值组成的向量 |
|
|
5、文本标注
向绘图区域内部添加文本(同时可以绘制点):text(location, "text to place", pos,…)
向图形四个边界之一添加文本:mtext("text to place", side, line=n,…)
参数 | 含义 |
---|---|
location | 文本的位置参数。可为一对x,y坐标,也可通过指定location为locator(1)使用鼠标交互式地确定摆放位置 |
pos | 文本相对于位置参数的方位。1=下,2=左,3=上,4=右。如果指定了pos,就可以同时指定参数offset=作为偏移量,以相对于单个字符宽度的比例表示 |
side | 指定用来放置文本的边。 1=下, 2=左, 3=上, 4=右。你可以指定参数line=来内移或外移文本,随着值的增加,文本将外移。也可使用adj=0将文本向左下对齐,或使用adj=1右上对齐 |
|
|
6、数学标注
|
|
7、 图形组合
par
参数mfrow=c(nrows,ncols)
来创建图形矩阵,mfrow
表示按行排列,nfcol
表示按列排列。layout()
函数可控制更多参数
|
|
|
|