R语言统计分析——图形参数

参考资料:R语言实战【第2版】

        我们可以通过修改图形参数来自定义一幅图形的多个特征(字体、颜色、坐标轴、标签)。一种方法是通过函数par()来指定这些参数,以这种方式设定的参数除非被再次修改,否则将会在会话结束前一直有效。第二种方法时为高级绘图函数直接提供optionname=value的键值对,这种情况下指定的选项进队本图有效,但并不是所有的高级绘图函数都允许指定全部可能的图形参数。

# 方法一:
# 设置参数
opar<-par(no.readonly=TRUE)
# 设置线型lty=2,表示虚线
# 设置标记形状pch=17,表示实心三角形
par(lty=2,pch=17)
# 绘制折线图
# type='b'表示同时绘制点和线
plot(dose,drugA,type='b')
par(opar)


# 方法二
# 在函数内设置参数
plot(dose,drugA,type='b',lty=2,pch=17)

1、符号和线条

        可用于指定符号和线条类型的参数如下:

pch:(plot character)指定绘制点时使用的符号。pch的参数设置为21~25时,我们还可以指定边界颜色(col=)和填充色(bg=)。

cex:(character expansion)指定符号的大小。cex是一个数值,表示绘图符号相对于默认大小的缩放倍数。默认大小为1,1.5表示放大为默认值的1.5倍,0.5表示缩小为默认值的50%。

lty:(linetype)指定线条类型。

lwd:(linewidth)指定线条宽度。lwd是以默认值的相对大小表示的(默认值为1)。例如lwd=2,将生成一条2倍于默认宽度的线条。

        综上所述,以下代码可以绘制出一幅图(线条类型为点型,宽度为默认宽度的3倍,坐标点位符号为实心正方形,大小为符号大小的2倍)如下:

plot(dose,drugA,type='b',lty=3,lwd=3,pch=15,cex=2)

2、颜色

        R中有若干和颜色相关的参数如下:

col(color):默认的绘图颜色。某些函数(lines和pie)可以接受一个含有颜色值的向量并自动循环使用。例如,如果设定col=c("red","blue")并需要绘制三条线,则第一条线为红色,第二条线为蓝色,第三条为红色。

col.axis:坐标轴刻度文字的颜色。

col.lab:坐标轴标签(名称)的颜色。

col.main:标题颜色。

col.sub:副标题颜色。

fg(foreground):图形前景色。

bg(background):图形背景色。

        在R中,可以通过颜色下标、颜色名称、十六进制的颜色值、RGB值或HSV值来指定颜色。举例来说:col=1,col='white',col='#FFFFFF',col=rgb(1,1,1),col=hsv(0,0,1)都是表示白色的等价方式。

        R中也有多种用于创建连续型颜色向量的函数,包括rainbow()、heat.colors()、terrain.colors()、topo.colors()以及cm.colors()。

        对于创建吸引人的颜色配对,可以考虑使用RColorBrewer。如下:

# 下载安装包
install.packages("RColorBrewer")
# 加载包
library(RColorBrewer)
# 设置颜色数量
n<-7
# 从set1调色板中抽取7种用十六进制表示的颜色并返回一个向量
mycolors<-brewer.pal(n,'Set1')
barplot(rep(1,n),col=mycolors)

        若要得到所有可选调色板的列表,输入brewer.pal.info;或者输入display.brewer.all()从而在一个显示输出中产生每个调色板的图形。如下:

         maxcolors category colorblind
BrBG            11      div       TRUE
PiYG            11      div       TRUE
PRGn            11      div       TRUE
PuOr            11      div       TRUE
RdBu            11      div       TRUE
RdGy            11      div      FALSE
RdYlBu          11      div       TRUE
RdYlGn          11      div      FALSE
Spectral        11      div      FALSE
Accent           8     qual      FALSE
Dark2            8     qual       TRUE
Paired          12     qual       TRUE
Pastel1          9     qual      FALSE
Pastel2          8     qual      FALSE
Set1             9     qual      FALSE
Set2             8     qual       TRUE
Set3            12     qual      FALSE
Blues            9      seq       TRUE
BuGn             9      seq       TRUE
BuPu             9      seq       TRUE
GnBu             9      seq       TRUE
Greens           9      seq       TRUE
Greys            9      seq       TRUE
Oranges          9      seq       TRUE
OrRd             9      seq       TRUE
PuBu             9      seq       TRUE
PuBuGn           9      seq       TRUE
PuRd             9      seq       TRUE
Purples          9      seq       TRUE
RdPu             9      seq       TRUE
Reds             9      seq       TRUE
YlGn             9      seq       TRUE
YlGnBu           9      seq       TRUE
YlOrBr           9      seq       TRUE
YlOrRd           9      seq       TRUE

        最后,多阶灰度色可使用基础安装自带的gray()函数生成。要通过一个元素值为0和1之间的向量来指定各颜色的灰度。

# 设置颜色数量
n<-10
# 导入10个彩色颜色
mycolors<-rainbow(n)
# 绘制彩色饼图
pie(rep(1,n),labels=mycolors,col=mycolors)
# 设置灰度颜色
mygrays<-gray(0:n/n)
# 绘制灰度饼图
pie(rep(1,n),babels=mygrays,col=mygrays)

3、文本属性

        图形参数同样可以用来指定字号、字体和字样。如下:

cex:(character expansion)指定符号的大小。cex是一个数值,表示绘图符号相对于默认大小的缩放倍数。默认大小为1,1.5表示放大为默认值的1.5倍,0.5表示缩小为默认值的50%。

cex.axis:坐标轴刻度文字的缩放倍数。

cex.lab:坐标轴标签(名称)的缩放倍数。

cex.main:标题的缩放倍数。

cex.sub:副标题的缩放倍数。

font:整数,用于指定绘图使用的字体样式。1=常规,2=粗体,3=斜体,4=粗斜体,5=符号字体(以Adobe符号编码表示)。

font.axis:坐标轴刻度文字的字体样式。

font.lab:坐标轴标签(名称)的字体样式。

font.main:标题的字体样式。

font.sub:副标题的字体样式。

ps:字体磅值。文本的最终大小为ps*cex

family:绘制文本时使用的字体族。标准的取值为serif(衬线)、sans(无衬线)和mono(等宽)

        举例:在执行此语句:par(font.lab=3,cex.lab=1.5,font.main=4,cex.main=2)之后,创建的所有图形都将拥有斜体、1.5倍于默认文本大小的坐标轴标签(名称),以及粗斜体、2倍于默认文本大小的标题。

4、图形尺寸与边界尺寸

pin:以英寸表示的图形尺寸(宽和高)

mai:以数值向量表示的边界大小,顺序为“下、左、上、右”,单位为英寸

mar:以数值向量表示的边界大小,顺序为“下、左、上、右”,单位为英分,默认值为c(5,4,4,2,)+0.1

# 录入数据
dose<-c(20,30,40,45,60)
drugA<-c(16,20,27,40,60)
drugB<-c(15,18,25,31,40)
# 设置参数
opar<-par(no.readonly=TRUE)
# 设置图形尺寸,4英寸宽,3英寸高
par(pin=c(4,3))
# 设置线条宽度为默认值的2倍
# 标记大小为默认值的1.5倍
par(lwd=2,cex=1.5)
# 设置坐标轴刻度为默认值的75%
# 设置坐标轴标签为斜体
par(cex.axis=0.75,font.axis=3)
# 绘制折线图
plot(dose,drugA,type='b',
     pch=19,lty=2,col='red')
plot(dose,drugB,type='b',
     pch=23,lty=6,col='blue',
     bg='green')
# 还原参数设置
par(opar)

  • 21
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值