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对象参数
R语言绘图系列:
标度控制着数据到图形属性的映射,标度将我们的数据转化为视觉上可以感知的东西,比如大小、位置、颜色、形状等。标度也为我们提供了读图时所使用的工具,比如说坐标轴和图例。总的来说,可以称为引导元素。标度函数控制元素的属性,可以理解为图形的遥控器,可以用它来调整画布大小、颜色等等。此前学的shape,color,size等参数和标度函数相比显得不够灵活。
scale_fill_brewer 调色板函数
geom_errorbar()
geom_crossbar()
geom_linerange() 绘制线段
geom_pointrange() 绘制点
pointrange:点画线
首先绘制一张盒形图
在图上显示出观测值
值得注意的是,图上点的多少并不能完全反应原始数据的多少,因为有的点可能因为点过于密集就会被覆盖,看起来是一个点,其实可能是多个点。
因此可以使用geom_jitter函数将不同的点区分开(jitter是震荡散点),width设置如果遇到相同的点,点向左右方平移的距离。alpha设置透明度。
黑色点是离群点
还可以绘制卡槽图
varwidth参数会根据该水平下观测值的个数(n值)改变盒形图的宽度。(这里宽度去的不是观测个数的绝对值,而是平方根,以缩小差距。)
给盒子上色
分组盒形图,用不同颜色区分
画水平的盒形图
使用coord_flip函数(坐标轴翻转函数)
绘制一张直方图
bins可以设置直方图条柱的数目,默认为30。当bins和binwidth(设置条柱宽度)同时设置时,默认以binwidth为准。
新加入变量cut,根据新变量在price水平上进行一个计数
y轴由count变为density,绘制概率密度
注意下面density的写法,前后都要加..
绘制概率密度曲线:geom_density函数
堆栈密度概率曲线
geom_line/geom_path/geom_step
绘制一个简单的线图
绘制点线图,点和线需要分别添加。
如上图,线在点之上,是因为先投射了点,又投射了线。
先投射线,点就出现在了线之上。
线的颜色出现了渐变
geom_smooth函数:绘制拟合曲线
methods还有其他的方法,如glm:广义线性模型;losses:纯粹平滑;gam:广义加性模型等等(lm和glm最常用)
geom_hline绘制水平线,geom_vline绘制垂直线。xintercept和yintercept是截距,slope是斜率。
数据准备
函数: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