R语言之ggplot

Python019

R语言之ggplot,第1张

ggplot2的核心理念是将绘图与数据分离,数据相关的绘图与数据无关的绘图分离。按图层作图,保有命令式作图的调整函数,使其更具灵活性,并将常见的统计变换融入到了绘图中。

ggplot的绘图有以下几个特点:第一,有明确的起始(以ggplot函数开始)与终止(一句语句一幅图);其二,图层之间的叠加是靠“+”号实现的,越后面其图层越高。

ggplot2里的所有函数可以分为以下几类:

一个图形对象就是一个包含数据,映射,图层,标度,坐标和分面的列表,外加组件options

ggplot(数据, 映射) geom_xxx(映射, 数据) stat_xxx(映射, 数据)

点(point, text):往往只有x、y指定位置,有shape但没有fill

线(line,vline,abline,hline,stat_function等):一般是基于函数来处理位置

射(segment):特征是指定位置有xend和yend,表示射线方向

面(tile, rect):这类一般有xmax,xmin,ymax,ymin指定位置

棒(boxplot,bin,bar,histogram):往往是二维或一维变量,具有width属性

带(ribbon,smooth):透明是特征是透明的fill

补:包括rug图,误差棒(errorbar,errorbarh)

然后,就是按照你的需要一步步加图层了(使用“+”)。

1 普通堆叠图

2 拆成柱形图

3 添加冲积图

安装依赖:

绘制冲积图:

4 添加facet_wrap分面

5 添加geom_segment分组标记

数据准备:准备geom_segment需要的x、x_end值

绘图:

6 翻转90度

7 绘制堆叠面积图

数据准备:给每个样品按数字编号

绘图:

这配色似乎还可以

一组好看的堆叠图参数:

参考:

R语言ggplot2绘制分组箱型图和分组柱状图

Make Grouped Boxplots with ggplot2