使用ggplot2进行高级绘图--刻面
如果组在图中并排出现而不是重叠为单一的图形,关系就是清晰的。我们可以使用facet_wrap()函数和facet_grid()函数创建网格图形(在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行的独立图
作为第二个例子,我们创建一个包含刻面和分组的图:
library(ggplot2)
ggplot(Salaries, aes(x=yrs.since.phd, y=salary, color=rank,
shape=rank)) + geom_point() + facet_grid(.~sex)
结果分析:学术等级用颜色和形状来表示,性别是刻面的。
试着展示singer数据集中每个声部成员的身高分布,并利用核密度图水平排列。给每个声部分配不同的颜色:
data(singer, package="lattice")
library(ggplot2)
ggplot(data=singer, aes(x=height, fill=voice.part)) +
geom_density() +
facet_grid(voice.part~.)