[R] 3.制图及相关

R in action整理

**各制图函数可设定参数不尽相同,可用?+function的命令具体查看对应函数可以设置的参数,?barplot **

1.制图流程

1)数据的输入或数据框的绑定  #attach()函数

2)opar<-par(no.readonly=TRUE)  #增加新的作图设置

参数的设定 #par()函数

3)确定是否为多幅图形的组合

par(mfrow=c(1,3))  #三幅图,且三行一列排列,默认在一个正方形内排列,所以与此同时宽会是高的三倍

layout(matrix(c(1,1,2,3),2,2,byrow=TRUE,widths=c(3,1),heights=c(1,2))

默认按照1  2排列,byrow=TRUE加上后为1  1,可以指定宽和高的比例,精细控制见P65

     1  3                2  3

3)选择制图种类及添加文本,自定义坐标轴及图例

4)数据框的解绑  #detach()

par(opar)  #恢复原始作图设置

其中第三条利用par()函数进行设定的参数分为三类

少:仅仅用于询问不能被设定的参数:cin,cra,csi,cxy,dim

中:仅能通过par()设定参数:

参数

描述

例子

pin

以英寸表示图形的尺寸

pin=c(4,3),4英寸长,3英寸宽的图形

mai

以数值向量表示边界大小,下左上右

mai=c(1,.5,1,.2),英寸

mar

以数值向量表示边界大小,下左上右

同上,默认值为c(5,4,4,2)+0.1

多:除了par(),也能在其他高级绘图函数中设定的参数。

参数

描述

例子

符号和线条

pch

点的类型(0-24)

pch=20,用20号点

cex

点的大小(倍数)

cex=0.5,为默认点大小的1/2

lty

线条类型(1-6)

lty=1,用1号线

ltw

线条宽度(倍数)

ltw=1.5,为默认宽度的1.5倍

颜色相关col

col.axis

坐标轴刻度颜色

col=("red","blue"),颜色可循环

col.lab

坐标轴名称颜色

col.main

标题的颜色

col.sub

副标题的颜色

fg

图的前景色

bg

图的背景色

文本大小相关cex

cex.axis

坐标轴文字倍数

cex.lab

坐标轴名称倍数

cex.main

标题的倍数

cex.sub

副标题的倍数

字体字号相关font

font.axis

坐标轴刻度文字样式

font.lab

坐标轴名称文字样式

font.main

标题的文字样式

font.sub

副标题的文字样式

ps

字体磅值

family

字体族

2.图形样式

1)条形图P110,barplot(x,...)

*如果类别型变量为因子或有序性因子,则可以直接用函数plot(),否则要用table()函数将其表格化:

counts<-table(Arthritis$Improved)

①简单:barplot(counts,...)

②水平:barplot(counts,...,horiz=TRUE)

同时,若数据为矩阵而非向量,则绘图结果为堆砌条形图或分组条形图,同理先判断是否要表格化:

counts2<-table(Arthritis$Improved,Arthritis$Treatment)

③堆砌:barplot(counts2,...)

④分组:barplot(counts2,...,beside=TRUE)

最后的微调,都写在barplot中,修改标签文本:name.arg=c("...","...","..."))

⑤棘状图:spine(counts2,...)

2)饼图P116,pie(x,labels=,...)

slices<-c(10,12,4,16)

lbls<-c("US","UK","CHINA","FRANCE")

①简单:pie(slices,labels=lbls,...)

②加比例数值:

pct<-round(slices/sum(slices)*100)

lbls2<-paste(lbls,"",pct,%,sep="")  #paste函数拼接,sep=表示参数之间的分隔符pie(slices,labels=lbls2,...)

③3D饼图:用plotrix包,pie3D(x,labels=lbls,...)

④扇形图:用Plotrix包,fan.plot(x,labels=lbls,...)

⑤从表格中创建饼图:P116

3)直方图P118,hist(x)

①简单:hist(x,...)

②加轴须图:

hist(x,...)

rug(x,...)  #轴须图函数,反应数据密度

③添加正态密度曲线及外框:P118

4)核密度图P120,plot(density(x),...)

①简单:plot(density(x),...)

②跨组比较P121:  #反应各变量的密度关系,创建分组因子→绘制密度图→添加图例

5)箱线图P122,boxplot(x,...)

①简单:boxplot(x,...)

②跨组比较P123:boxplot(formula,data=dataframe)  #对比各变量的分布

③另有小提琴图(和密度图与箱线图的结合)

6)点图P127,dotchart(x,labels=)

3.大佬绘图教程

 

猜你喜欢

转载自blog.csdn.net/Edward_is_1ncredible/article/details/81061321
R
R: