当前位置: 首页 > 数据可视化 > 正文

[R] ggplot2 学习记录

 

R的ggplot2已是数据可视化最重要的一个库。

以下所有例子用到的数据集都是ggplot2自带的diamonds数据。添加了ggplot2之后,只需直接输入diamonds就可以调出其中的数据。这是一个很大的数据集。

 

数据的概况

summary(diamonds)

1.直方图(也叫柱状图,histogram plot)

qplot(carat, data=diamonds, geom="histogram", fill=color,binwidth=0.1) 

其中carat是diamonds数据集中的一列,字面意思我们也可以知道,这是钻石的重量单位:克拉。下同。

 

 

2. 密度分布图(Density plot)

qplot(carat, data=diamonds, geom="density", colour=color)

3. 条形图(也叫直条图,bar plot)

虽然柱状图和条形图形状看起来是差不多的,但是这两者所要表达的却是完全不同的两个东西,并不可以用“差不多”或者“差别不大”来形容。说起来虽然也简单,但关于这一点却也有不少人曾搞错过,所以我觉得这里有必要列举一下:

(1)条形图是用条形的长度表示各类别频数的多少,其宽度(表示类别)则是固定的,常用于彼此独立的数据间的互相比较。

(2)直方图是用面积表示数量的多少,矩形的高度表示每一组的频数或频率,宽度则表示各组的组距,因此其高度与宽度均有意义。可能有些读者觉得,这里说到高度是频数,怎么面积也是数量了,是不是有点奇怪了?其实若是这种情形,那么宽度就应该是1了。

(3)由于分组数据具有连续性,直方图的各矩形通常是连续排列,而条形图则是分开排列。

(4)条形图主要用于展示分类数据,而直方图则主要用于展示数据型数据。

qplot(color, data=diamonds, geom="bar", fill=color) 

4. 线图

一般来说,在与时间序列数据相关的作图中,线图是最为常用的一种,用以描述随着时间的变化单个变量呈现出的变化趋势。

qplot(date, unemploy / pop, data = economics, geom="line")

5. 散点图+拟合线

qplot(carat, price, data=diamonds, geom=c("point", "smooth"), colour = color)

6. 分面(faceting)

其实我也不知道faceting这个词应该怎么翻译才贴切,网上也有将其翻译为“切面”,但我觉得“分面”可能要更贴切一些。简单说来就是将数据的多个不同维度(列)按照统一的横坐标分别展示出来。但这不能简单地理解为只是“一页多图”,通常意义的“一页多图”只是将多个不同的图——图与图之间不一定存在关系,按照某种次序画在同一页中。但“分面”体现的是在一个变量内(横坐标),分类展示另外变量(其他各列)的变化情况的图,是对变量的多维度展现。这其实是一个非常有用而强大的功能,这里暂时只是简单地提一下,后续将作进一步的更新。

qplot(carat, data=diamonds, facets = color ~ ., geom = "histogram", binwidth = 0.1, xlim = c(0, 3), fill = color)

7. 箱型图

ggplot(diamonds)+geom_boxplot(aes(x=cut, y=price, fill=color))

 

 

 

 

 

 

 


 

本文固定链接: http://blog.fungenomics.com/2015/02/learn-r-ggplot2.html | Genomics for fun

该日志由 解螺旋的矿工 于2015年02月08日发表在 数据可视化 分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
原创文章转载请注明: [R] ggplot2 学习记录 | Genomics for fun
关键字: , ,

[R] ggplot2 学习记录:等您坐沙发呢!

发表评论

快捷键:Ctrl+Enter