啊啊啊啊啊吖

2018-11-02   阅读量: 748

数据分析师 R语言 数据可视化

ggplot2--分面与几何对象

扫码加入数据分析学习群

分面

添加额外变量的一种方法是使用图形属性。另一种方法是将图分割成多个分面,即可以显

示数据子集的子图。这种方法特别适合添加分类变量。

要想通过单个变量对图进行分面,可以使用函数 facet_wrap()。其第一个参数是一个公

式,创建公式的方式是在 ~ 符号后面加一个变量名(这里所说的“公式”是 R 中的一种数

据结构,不是数学意义上的公式)。传递给 facet_wrap() 的变量应该是离散型的。

ggplot(data = mpg) +
geom_point(mapping = aes(x = displ, y = hwy)) +
facet_wrap(~ class, nrow = 2)
要想通过两个变量对图进行分面,需要在绘图命令中加入函数 facet_grid()。这个函数的
第一个参数也是一个公式,但该公式包含由 ~ 隔开的两个变量名。
ggplot(data = mpg) +
geom_point(mapping = aes(x = displ, y = hwy)) +
facet_grid(drv ~ cyl)

如果不想在行或列的维度进行分面,你可以使用 . 来代替变量名,例如 + facet_grid(. ~

cyl)。

几何对象

几何对象是图中用来表示数据的几何图形对象。我们经常根据图中使用的几何对象类型来

描述相应的图。例如,条形图使用了条形几何对象,折线图使用了直线几何对象,箱线图

使用了矩形和直线几何对象。散点图打破了这种趋势,它们使用点几何对象。我们可以使用不同的几何对象来表示同样的数据。

ggplot2 提供了 30 多种几何对象,其扩展包甚至提供了更多(可以在 https://www.ggplot2-

exts.org 查看更多样例)。如果想全面地了解这些对象,最好的方式是学习 ggplot2 速查表

(参见 http://rstudio.com/cheatsheets)。如果想掌握更多关于某个几何对象的知识,那么可以

使用帮助,如 ?geom_smooth。

和 geom_smooth() 一样,很多几何对象函数使用单个几何对象来表示多行数据。你可以将

这些几何对象的 group 图形属性设置为一个分类变量,这样 ggplot2 就会为这个分类变量

的每个唯一值绘制一个独立的几何对象。实际上,只要将一个图形属性映射为一个离散变

量(如上个示例中的 linetype), ggplot2 就会自动对数据进行分组来绘制多个几何对象。

这个功能非常方便,因为按照图形属性的这种分组不用添加图例,也不用为几何对象添加

区分特征:

ggplot(data = mpg) +
geom_smooth(mapping = aes(x = displ, y = hwy))
ggplot(data = mpg) +
geom_smooth(mapping = aes(x = displ, y = hwy, group = drv))
ggplot(data = mpg) +
geom_smooth(
mapping = aes(x = displ, y = hwy, color = drv),
show.legend = FALSE
)

添加CDA认证专家【维克多阿涛】,微信号:【cdashijiazhuang】,提供数据分析指导及CDA考试秘籍。已助千人通过CDA数字化人才认证。欢迎交流,共同成长!
0.0000 0 1 关注作者 收藏

评论(0)


暂无数据

推荐课程

推荐帖子