载入所需包

library(effects)

library(ggplot2)

基本图形类型简述

以下几何对象是ggplot2图形的基本组成部分。每种几何对象自身即可独立构建图形,同时也可以组合起来构建更复杂的几何对象。这些几何对象基本上都关联了一种常见的图形:当某幅图形只使用了一种几何对象构建时,这幅图往往拥有一个特定的名称。

这些几何对象均是二维的,故x和y两种图形属性都是不可或缺的。同时,它们都可以接受colour和size图形属性,另外,填充型几何对象(条形、瓦片(tile)和多边形)还可以接受fill图形属性。点使用shape图形属性,线和路径接受linetype图形属性。这些几何对象可用于展示原始数据,另行计算得到的数据摘要和元数据。

geom_area()用于绘制面积图(area plot),即在普通线图的基础上,依y轴方向填充了下方面积的图形。对于分组数据,各组将按照依次堆积的方式绘制。

geom_bar(stat="identity")绘制条形图。我们需要指定stat="identity",因为默认的统计变换将自动对“值”进行计数(所以本质上这是一个一维的几何对象)。而统计变换identity将保持数据不变。

默认情况下,相同位置的多个条形图将以依次向上堆积的形式绘制。

geom_line()绘制线条图。图形属性group决定了哪些观测是连接在一起的;

参考R语言可视化 ggplot2—设定、映射、分组、匹配图形属性和图形对象

以了解更多细节。geom_path与geom_line类似,但geom_path中的线条是根据它们在数据中出现的顺序进行连接的,而非从左至右进行连接。

geom_point()绘制散点图。

geom_polygon()绘制多边形,即填充后的路径。数据中的每一行代表了多边形的一个顶点。在绘图之前将多边形的顶点坐标数据和原始数据进行合并往往会更方便。后续内容以地图数据为例详细地阐明了这个概念。

geom_text()可在指定点处添加标签。它是这些几何对象中唯一一个需要额外图形属性的:它需要指定label参数。我们可以通过设置可选的图形属性hjust和vjust来控制文本的横纵位置;此外,可以设置图形属性angle来控制文本的旋转。你可以?geom_text以了解更多。

geom_tile()用来绘制色深图(image plot)或水平图(level plot)。所有的瓦片(tile)构成了对平面的一个规则切分,且往往将fill图形属性映射至另一个变量。

使用以下代码绘制以上几何对象,结果下图所示。

实践例子

使用不同的基本几何对象绘制相同数据的效果。

从上到下的图形名称分别为:散点图、条形图、线图、面积图、路径图、含标签的散点图、色深图/水平图和多边形图。

注意观察条形图、面积图和瓦片图的坐标轴范围:这三种几何对象占据了数据本身范围以外的空间,于是坐标轴被自动拉伸了。

df 
x = c(3, 1, 5),
y = c(2, 4, 6),
label = c("a","b","c")
)
p

点图+标题

p + geom_point() + labs(title = "geom_point")


条形图+标题+对“值”进行计数

p + geom_bar(stat="identity") +

labs(title = "geom_bar(stat=\"identity\")")


折线图+标题

p + geom_line() + labs(title = "geom_line")


面积图(在普通线图的基础上,填充了线下方的面积)

p + geom_area() + labs(title = "geom_area")


路径图(按照数据出现的顺序连接)

p + geom_path() + labs(title = "geom_path")


含标签的散点图(指定点添加标签)

p + geom_text(aes(label = label)) + labs(title = "geom_text")


色深图或水平图

p + geom_tile() + labs(title = "geom_tile")


绘制多边形,即填充后的路径

p + geom_polygon() + labs(title = "geom_polygon")