使用ggplot2进行高级绘图--刻面

使用ggplot2进行高级绘图--刻面

如果组在图中并排出现而不是重叠为单一的图形,关系就是清晰的。我们可以使用facet_wrap()函数和facet_grid()函数创建网格图形(在ggplot2中也称刻面图)。

ggplot2的刻面图函数

                                                                  使用ggplot2进行高级绘图--刻面

其中var、rowvar和colvar是因子。

看一下合唱的例子,我们可以使用下面的代码创建一个刻面图:

data(singer, package="lattice")

library(ggplot2)

ggplot(data=singer, aes(x=height)) +

 geom_histogram() +

 facet_wrap(~voice.part, nrow=4)  #把每个voice.part水平,排列成4行的独立图

 使用ggplot2进行高级绘图--刻面

作为第二个例子,我们创建一个包含刻面和分组的图:

library(ggplot2)

ggplot(Salaries, aes(x=yrs.since.phd, y=salary, color=rank,

                     shape=rank)) + geom_point() + facet_grid(.~sex)

 使用ggplot2进行高级绘图--刻面

结果分析:学术等级用颜色和形状来表示,性别是刻面的。

试着展示singer数据集中每个声部成员的身高分布,并利用核密度图水平排列。给每个声部分配不同的颜色:

data(singer, package="lattice")

library(ggplot2)

ggplot(data=singer, aes(x=height, fill=voice.part)) +

  geom_density() +

  facet_grid(voice.part~.)

 使用ggplot2进行高级绘图--刻面

上一篇:ggplot画gene structure和alternative splicing | ggbio | GenomicFeatures


下一篇:Python .flv媒体文件转换