用ggplot绘图(九)

theme:改变图形的风格

theme是ggplot的强大功能之一,通过主题(theme)可以迅速地获得统一风格的图像。模板的使用方法和其他几何特性是一致的,这里分别展示一下默认自带的一些模板和一些额外的模板。

这是默认模板:

p <- qplot(wt,mpg,color=factor(cyl),data=mtcars,
      geom='point') + geom_smooth(method='lm',size=1) 
p

下面是theme_bw,高对比度主题:

p + theme_bw()

下面是theme_classic,有x,y轴和没有网格线:

p + theme_classic()

下面是theme_gray,这个就是默认值啦:

p + theme_gray()

下面是theme_light,与下一个比较像,模板颜色更浅:

p + theme_light()

下面是theme_linedraw,有一个高对比度主题,网格线变成黑实线:

p + theme_linedraw()

下面是theme_minimal,没有背景内容:

p + theme_minimal()

可以看到这些主题更多的像是功能展示,而不太像现成可用的主题。不过有部分主题还是比较不错的。为了获得一些预定义比较完整的主题,读者可以安装ggthemes库,其中提供了很多预定义比较完善的主题。这里将其中的主题分别展示一下,对有兴趣的主题可以查看相关函数的文档:

library(ggthemes)
p + theme_calc()

p + theme_economist()

p + theme_economist_white()

p + theme_few()

p + theme_fivethirtyeight()

p + theme_foundation()

p + theme_gdocs()

p + theme_hc()

p + theme_igray()

p + theme_pander()

p + theme_solarized()

p + theme_solarized_2()

p + theme_stata()