《R语言实战》自学笔记16-图形图例

Python014

《R语言实战》自学笔记16-图形图例,第1张

数据准备

函数:legend(location, title, legend, ....)

参数详解:

x和y:用于定位图例,也可用关键词"bottomright", "bottom", "bottomleft", "left", "topleft", "top", "topright", "right" 和 "center";当图例用关键词设置位置后,inset = 分数,可以设置其相对位置;

legend:指定图例标签,字符或表达式向量;

fill:用特定的颜色进行填充;

col:设置图例中出现的点或线的颜色;

border:当fill = 参数存在的情况下,用于指定填充的边框颜色;

lty, lwd:图例中线的类型与宽度;

pch:点的类型;

angle:阴影的角度;

density:阴影线的密度;

cex:指定图例显示大小;

bg:指定图例的背景色;

bty:指定图例框是否画出,默认o为画出,n为不画出;

box.lty, box.lwd, box.col: 设置图例边框线型,线粗,颜色,box.lty为虚线,box.lwd决定粗线,box.col决定颜色;

pt.bg:图例中点的背景色;

pt.cex:图例中点的大小;

pt.lwd:图例中点边缘的线宽;

x.intersp:图例中文字离图片的水平距离;

y.intersp:图例中文字离图片的垂直距离;

adj:图例中字体的相对位置;

text.width:图例中字体所占的宽度,调整后图例整个宽度也跟着变化了;

text.col:图例字体的颜色;

text.font:图例字体;

merge:逻辑值,merge=TRUE,合并点与线,但不填充图例框,默认为TRUE;

trace:逻辑值,trace=TRUE显示图例信息;

plot:逻辑值,plot=FALSE不画出图例;

ncol:图例中分类的列数;

horiz:逻辑值,horiz=TRUE,水平放置图例;

title:给图例加标题;

xpd:xpd=FALSE,即不允许在作图区域外作图,改为TRUE即可,与par()参数配合使用;

title.col:标题颜色;

title.adj:图例标题的相对位置,0.5为默认,在中间。0最左,1为最右;

seg.len:指定图例中线的线长,长度单位为字符宽度。

1 图例方位

2 修饰图例

3 图例绘制在图外

4 自定义图例

有时候绘制出的图是分组图,这时候需要自定义绘制图例。

参考资料:

《R语言实战》(中文版),人民邮电出版社,2013.

R语言绘制图例(legend)的各种问题_详细综合解析, https://blog.csdn.net/xiangyong58/article/details/54579293

投必得R语言教程,第二讲 R作图-基础-图形参数设置:标题、图例、文字, https://mp.weixin.qq.com/s?__biz=MzU1Mzc3OTIwNg==&mid=2247495531&idx=1&sn=cdd80d4e950ae2b344cf188c68922fa8&chksm=fbef0602cc988f14e93b71bc6fcc2fda782d3ae9a3a67601a6c87756f4ae85bcc5d9c56d9b51&scene=21#wechat_redirect

一幅图解决R语言绘制图例的各种问题, https://blog.csdn.net/weixin_30469895/article/details/96649305

par()函数是R里有关绘图的重要函数之一,以下是对par()函数说明内容的一些整理。描述:par函数用于设定或询问绘图参数。参数设定可通过par(参数名=取值)或par(赋值参数列表)的形式进行。用法:par(,no.readonly=FALSE)函数变量:“参数名=取值”或“赋值参数列表”形式的变量。no.readonly逻辑变量。如=TRUE且没有其他变量,则返回当前绘图设备下已设定好的绘图参数。参数:参数分为三类:一、仅仅用于询问不能被设定的参数:cin,cra,csi,cxy,dim。二、仅能通过par()设定参数:ask,fig,fin,lheight,mai,mar,mex,mfcol,mfrow,mfg,new,oma,omd,omi,pin,plt,ps,pty,usr,xlog,ylog。三、除了par(),也能在其他高级绘图函数中设定的参数。应用中,涉及这三类参数最多的是第三类,最少的是第一类。查看当前参数的赋值用par("参数名")第三类参数:adj调整函数text,mtext,title里文本串的位置。=0:文本串左对齐;=0.5(缺省):文本串居中;=1:文本串右对齐。ann=FALSE:不进行绘图解释标记(例如横轴标题等)。bg设置绘图区背景色。缺省为bg="transparent"。bty设置绘图边框的形式。="o"(缺省):四周边框;="l":左下边框;="7":右上边框;="c":上左下边框;="u":左下右边框;="]":上右下边框;="n";无边框。cex设置文本和符合的尺度。缺省为cex=1。cex.axis相对于当前的cex设置,放大坐标标记(坐标轴标记的数字)。缺省为cex.axis=1。cex.lab相对于当前的cex设置,放大坐标轴标题。缺省为cex.lab=1。cex.main相对于当前的cex设置,放大图标题。缺省为cex.main=1。cex.sub相对于当前的cex设置,放大图副标题。缺省为cex.sub=1。col设置绘图颜色。缺省为col="black"。col.axis设置坐标标记颜色。缺省为col.axis="black"。col.lab设置坐标轴标题颜色。缺省为col.lab="black"。col.main设置图标题颜色。缺省为col.main="black"。col.sub设置图副标题颜色。缺省为col.sub="black"。crt缺省为crt=0。err期望的错误报告程度(像该参数目前在R中未生效)。缺省为err=0。family设置文本字体字体族。缺省为family=""。fg设置前景色,主要用于坐标轴,边框,图形等,对坐标标记与坐标轴标题等外围无影响。缺省为fg="black"。font设置文本字体。=1(缺省):普通字体;=2:粗体;=3:斜体;=4:粗斜体;。font.axis设置坐标标记字体。font.lab设置坐标轴标题字体。font.main设置图标题字体。font.sub设置图副标题字体。lab设置坐标轴刻度数,lab=c(x,y,len)形式,目前len的设置在R中未生效。缺省为lab=c(5,5,7)。las设置坐标标记显示方向。=0(缺省):平行于坐标轴;=1:平行于x轴;=2:垂直于坐标轴;=3:平行于y轴。lend设置线结束端的形状(只有把线画很粗才能看出来)。=0(缺省):圆形;=1:“短”方形;=2:“长”方形。ljoin设置线交接处的性质(只有把线画很粗才能看出来)。=0(缺省):圆角;=1:方角;=2:切方角顶角。lmitre设置ljoin里方角向切方角顶角过渡的程度。缺省为lmitre=10。lty设置线的类型。=0:空白;=1:(缺省)实线;=2:短线虚线;=3:点虚线;=4:短线点虚线;=5:长线虚线;=6:长短线虚线。lwd设置线宽。缺省为lwd=1。mgp设置坐标轴标题,坐标标记和坐标轴边界宽度。mgp[1]影响坐标轴标题,mgp[2,3]影响坐标标记和坐标轴。缺省为mgp=c(3,1,0)。pch设置点的类型。缺省为pch=1。srt逆时针选择字符串,单位为°,只用于text函数。缺省srt=0。tck设置坐标刻度线长与方向(与图宽和高的较小者成比例)。缺省为tck="NA"。tcl设置坐标刻度线长与方向(与文本行高成比例)。缺省为tcl=-0.5。xaxs,yaxs设置坐标轴的范围。="r"(缺省):先将数据范围向双边扩大4%,然后绘图;="i":在原始数据范围内绘图。xaxt,yaxt设置坐标轴样式。="s"(缺省):标准样式;="n":不绘坐标轴。第二类函数:ask=TRUE:在新图绘制前进行提示。fig设定图在绘图设备中的位置,fig=c(x1,x2,y1,y2)的数值向量(0<=x1

1、向量是用于存储数值型,字符型或者逻辑型数据的一维数组。执行组合功能的函数为c(),可以用来创建向量。向量可根据位置进行索引,需要用[]。

2、矩阵是一个二维数组,每个元素都拥有相同的模式,可通过函数matrix()创建矩阵。

3、数组是一个可以在两个以上维度存储数据的数据对象。例如,如果创建尺寸(2,3,4)的数组,那么就是创建4个矩形矩阵每个2行3列。数组只能存储数据类型。

4、矩阵和数组一样都只能包含一种数据类型,当有多种模式的数据时,使用数据框就更为方便。数据框可以用函数data.frame () 创建。

5、$  被用来选取一个给定数据框中的某个特定变量。

6、attach()绑定数据集,detach()解除数据集。

7、with:attach,detach最好在单独的数据框内使用,在多个同名对象最好不要使用,函数with(),可以再具有多个同名对象的数据框内使用,但是必须加入花括号{},这样就无须担心名称冲突了,但是它也有局限性,赋值仅在此函数的括号内生效。

8、列表是一些对象的有序集合。

9,、数据导入 read.table(),其中header = T,代表第一行为变量名称,不作为数据,header = F相反。sep代表数据分隔符,txt为"\t",csv为","。

10、table函数,用 table() 函数统计因子各水平的出现次数(称为频数或频率)。

>sex = c("女","女","女","男","男")

>table(sex)

>sex

  男 女

  2 3

求众数

>aim = table(sex)[table(sex)==max(table(sex))]

>aim

  女

   3

> max(table(sex))

[1] 3

> table(sex)==max(table(sex))

  sex

  男    女

  FALSE TRUE

11、 无尺度网络: 是指在某一复杂的 系统 中,大部分节点只有少数几个连结,而某些节点却拥有与其他节点的大量连结。这些具有大量连结的节点称为“集散节点”,所拥有的连结可能高达数百、数千甚至数百万。这一特性说明该网络是无尺度的,因此,凡具有这一特性的网络都是无尺度网络。

12、options(stringsAsFactors = F)

#在调用as.data.frame的时,将stringsAsFactors设置为FALSE可以避免character类型自动转化为factor类型。

13、class():查看数据结构:vector、matrix、array、dataframe、list。

14、str():作用用英语来表示是:check classification of viriables,一般用于检查数据框当中有哪些数据。

15、mode() :查看数据元素类型。

16、typeof() :查看数据元素类型,基本等同于mode(),比mode()更为详细。

17、example():假设有一个函数foo,example("foo"),函数foo的使用示例。

18、apropos():列出名称中含有foo的所有可用函数。apropos("foo",mode="function")。

19、data():列出当前已加载包中所含的所有可用示例数据集。

20、ls():列出当前工作空间中的对象。

21、rm():移除(删除)一个或多个对象。

22、history(#):显示最近使用过的#个命令(默认值为25)。

23、options():显示或设置当前选项。有一个收藏文件有介绍options的功能。

24、boxplot():生成盒型图。

25、sum():计算和。sum(x,na.rm = TRUE)。

26、median():计算中位数。

27、cbind():以列结合变量。cbind(x,y,z)。

28、rbind():以行结合变量。

29、vector():以向量形式结合数据。vector(length = 10)。

30、rep():以矩阵形式结合数据。rep(c(1,,2,3),each = 10)

31、seq():生成一个有序的数列。seq(1,10)。

32、dim():矩阵或者cbind输出的维数。dim(Mydata)。

33、scan():从ascii文件中读取数据。scan(file = "test.txt")。

34、write.table():把一个变量写入到ascii文件。write.table(Z,file = "test.txt")。

35、order():确定数据的顺序。order(x)。

36、merge():合并两个数据框。merge(x,y,by = "ID")。

37、str():显示一个对象的内部结构。str(Mydata)。

38、factor():定义变量作为因子。factor(x)。

39、tapply():tapply(X = Veg$R,INDEX = Veg$Transect,FUN = mean).tapply函数根据第二个变量(Transect)的不同水平对第一变量(R)进行了求平均值运算。还可以求sd,var,length等操作。R语言初学者指南P75详细介绍了这个函数。

40、下一页介绍了sapply和lapply。

41、summary():计算基本信息。

42、table():计算列联表,统计因子各水平的出现次数(频数或频率)。table(x,y)。

43、plot():y对x的图形。pch形状,col颜色。

44、par():par(mfrow = c(2,2),mar = c(3,3,2,1))

mfrow生成一个具有4个面板的图形窗口。mar选项指定每个图形周围空白的大小,底部、左侧、顶部、右侧。

45、paste():将变量连接成字符串。paste("a","b",sep = "")。

46、log(): log = "x",log = "y",log = "xy",生成对数轴。

47、%in%:

a<-c(1,3,13,1443,43,43,4,34,3,4,3)

b<-c(1,13,11,1313,434,1)

a%in%b

# 返回内容# 

[1] TRUE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE

# 取反操作

!(a%in%b)

48、sort()函数是对向量进行从小到大的排序

rank()函数返回的是对向量中每个数值对应的秩

order()函数返回的值表示位置,依次对应的是向量的最小值、次小值、第三小值……最大值等(位置索引)

arrange()函数(需加载dplyr包)针对数据框,返回基于某列排序后的数据框,方便多重依据排序。

49、subset(): df <- data.frame( a = 1:10, b = 2:11, c = 3:12 )

df <- subset(df, select = c(a,c)) #选取列a和c

df <- subset(df, select = -c(a,c) ) #去除列a和c