array(vector, dimensions, dimnames),其中vector包含array中的元素,dimensions是一个向量指定array各个维度的大小,dimnames是一个list指定各个维度对应的名称。
https://www.rdocumentation.org/packages/customLayout/versions/0.2.0
https://mp.weixin.qq.com/s/zbp8pOQcNB4XBBF5SCg5GA
customLayout用于拼图特别方便,尤其是仪表盘布局
支持R内置的base绘图对象,ggplot2对象(与grid结合 )
Hide
”library(ggplot2)library(customLayout)
通过设置简单的数字矩阵以及对应的宽高比,可以非常方便的设置出来数字拼图
关键函数:
mat数字矩阵必须从1开始,且必须连续
其它拼图包没有的功能,非常好用
跟合并矩阵类似。分为行合并和列合并
这个功能也是其它包没有的,非常有用
关键函数:
参数lay表示大画布,参数newlay表示要嵌套进去的小画布,field表示指定要嵌套的区域编号
关键函数:
cowplot是一个ggplot2包的简单补充,意味着其可以为ggplot2提供出版物级的主题等。
更重要的是,这个包可以组合多个”ggplot2”绘制的图为一个图,并且为每个图加上例如A,B,C等标签,
这在具体的出版物上通常是要求的。 语法结构与ggplot类似,将ggplot2图作为一个对象置于 ggdraw() 中
表达式:
draw_plot(plot, x = 0, y = 0, width = 1, height = 1, scale = 1)
draw_text(text, x = 0.5, y = 0.5, size = 14, hjust = 0.5, vjust = 0.5,...)
draw_plot_label(label, x = 0, y = 1, hjust = -0.5, vjust = 1.5, size = 16, fontface = "bold", family = NULL, colour = NULL, ...)
参数解释:
grid中文翻译为网格,可将其解释为画布分割,通过设定相应的参数,从而可以任意的摆放图形
常用函数:
语法:
参数解释:
layout参数
综合例子
子母图,主要是形成局部放大的效果,既可以从整体上对比,又兼顾特别小的数据组,或特别密的数据点可以查看,而没有必要单独做2张图
<pre style="box-sizing: border-boxfont-family: Monaco, Menlo, Consolas, "Courier New", monospacefont-size: 13pxwhite-space: pre-wrapdisplay: blockpadding: 9.5pxmargin: 0px 0px 10pxline-height: 1.42857color: rgb(51, 51, 51)word-break: break-alloverflow-wrap: break-word !importantbackground-color: whiteborder: 1px solid rgb(204, 204, 204)border-radius: 4pxmax-width: 100%font-variant-numeric: normalfont-variant-east-asian: normalletter-spacing: 0.544pxtext-align: justifywidows: 1overflow: auto">## png
蝴蝶图
主要函数:
语法:
参数解释:
把绘图对象添加到列表总,并把该列表传递给 grid.arrange() 函数中的grobs参数
子母图
grid包可以画字母图
安装gridExtra包后,ggplot2中多了一个 ggplotGrob( )函数,可以创建grob对象参数
mode storage.mode typeof 是一类,检查变量类型,如list integer character等关系是,从前往后,检查精度越来越细。所以当想看粗类别时,就用mode,看细类别用typeof.
# 此时后两者都能查到最细的程度
mode(1:5) # numeric
storage.mode(1:5) # integer
typeof(1:5) # integer
# 此时只有typeof能查到最细的程度
mode(`+`) # function
storage.mode(`+`) # function
typeof(`+`) # builtin
# 这里稍微解释一下,`+`是一个函数
# 下面两个例子等价
1+2 # 3
`+`(1,2) # 3
class和另外三个不是一个体系
对于有”class”属性的变量,返回的就是这个属性对应的值
对于没有”class”属性的变量,则根据它的类型、维度来确定
# 有"class"属性,只认属性
a <- 1:6
df <-data.frame(a,a+1)
class(df) # data.frame
class(df)<- "abc" # 随便定义一个值
class(df) # abc
#没有属性,根据类型和dim属性
ar <- array(1:4)
attributes(ar) # 数组dim为4
mat <- matrix(1:4)
attributes(mat) # 矩阵dim为4 1 两个值
a <- 1:4 # 没有dim
class(a) # integer
aar <- structure(a,dim=4) # 赋予类似array的dim
class(aar) # array
amat <- structure(a,dim=c(4,1)) # 赋予类似matrix的dim
class(amat) # matrix
class(list(1:4)) # list 不一样类型