R绘图-ggplot2 (3)

简介: R绘图-ggplot2 (3)

8、分面(Facet)

分面可以让我们按照某种给定的条件,对数据进行分组,然后分别画图。


#在统计变换一节中,提到如果按切工分组作回归线,显然图会很乱,有了分面功能,我们可以分别作图。

ggplot(small, aes(x=carat, y=price))+geom_point(aes(colour=cut))+scale_y_log10() +facet_wrap(~cut)+stat_smooth()


9、主题(Theme)

通过ggplot画图之后,我们可能还需要对图进行定制,像title, xlab, ylab这些高频需要用到的,自不用说,ggplot2提供了ggtitle(), xlab()和ylab()来实现。

但是这个远远满足不了需求,我们需要改变字体,字体大小,坐标轴,背景等各种元素,这需要通过theme()函数来完成。

ggplot2提供一些已经写好的主题,比如theme_grey()为默认主题,我经常用的theme_bw()为白色背景的主题,还有theme_classic()主题,和R的基础画图函数较像。

别外ggthemes包提供了一些主题可供使用,包括:


theme_economist theme_economist_white

theme_wsj      theme_excel

theme_few      theme_foundation

theme_igray    theme_solarized

theme_stata    theme_tufte


require(ggthemes)

p + theme_wsj()

ggplot2_fig20


至于如何改变这些元素,我觉得我之前画囧字的博文可以做为例子:


fdata.frame(x=x,y=y)

p


10、二维密度图

在这个文档里,为了作图方便,我们使用diamonds数据集的一个子集,如果使用全集,数据量太大,画出来散点就糊了,这种情况可以使用二维密度力来呈现。


ggplot(diamonds, aes(carat, price))+ stat_density2d(aes(fill = ..level..), geom="polygon")+ scale_fill_continuous(high='darkred',low='darkgreen')

ggplot2.fig22


11、ggplot2实战

果壳知性里有帖子介绍了个猥琐邪恶的曲线,引来无数宅男用各种工具来画图,甚至于3D动态图都出来了。这里用ggplot2来画。3D版本请猛击此处。


fdata.frame(x=c(x1,x2,x3), y=rep(y,3), type=rep(LETTERS[1:3], each=length(y)))

p

再来一个蝴蝶图,详见《Modern Applied Statistics with S-PLUS》第一章。


theta data.frame(x=radius*sin(theta), y=radius*cos(theta))

ggplot(dd, aes(x, y))+geom_path()+theme_null()+xlab("")+ylab("")


相关文章
|
数据建模
R绘图-ggplot2 (2)
R绘图-ggplot2 (2)
|
编解码 数据可视化 数据挖掘
R语言之 ggplot 2 和其他图形
R语言之 ggplot 2 和其他图形
123 0
|
数据挖掘
ggplot2|从0开始绘制折线图
ggplot2|从0开始绘制折线图
193 0
|
数据挖掘
ggplot2|从0开始绘制直方图
ggplot2|从0开始绘制直方图
368 0
|
9月前
ggplot2如何在R语言中绘制表格
ggplot2如何在R语言中绘制表格
|
存储 数据可视化 算法
Matplotlib更多实用图形的绘制
我们已经学习了一系列统计图来描绘两个变量间的基本关系,但是,仅仅使用这些图形并不足以应对所有场景。例如,需要显示降雨在各个地区的分布情况。因此,我们需要更多的实用图形来表达现实世界的复杂关系。
1249 0
Matplotlib更多实用图形的绘制
|
Web App开发 算法 API
使用Matplotlib绘制3D图形
本文是Matplotlib的第二篇文章,会讲解如何通过Matplotlib绘制3D图形。关于Matplotlib的第一篇文章,请看这里:[Python绘图库Matplotlib入门教程](https://paul.pub/matplotlib-basics/)。 # 测试环境 由于这是一个Python语言的软件包,因此需要你的机器上首先安装好Python语言的环境。关于这一点,请自行在
3807 0
|
数据可视化 数据挖掘 Python
R语言ggplot2作图小技巧:如何给坐标轴添加minor breaks
R语言ggplot2作图小技巧:如何给坐标轴添加minor breaks

热门文章

最新文章