1. 基本图形类型
- geom_area;
- geom_bar(stat="identity")), 条形图,不指定stat,会自动对“值”进行计数;而统计变换可以保持数据不变;
- geom_line()折线图;
- geom_point();
- geom_polygon()多边形;
- geom_rect(), geom_tile()瓦片图, geom_raster()
2. 标签
geom_text() data类型:x, y为数字,另有一行文本。
geom_text()支持修改所有几何对象的大多数图形属性,geom_label()是geom_text()衍生版本,会在文本外绘制矩形框。
- family设置字体,俩个包show text, extra font;
- fontface设置字体风格, bold粗体;
- hjust, vjust调整文本对齐方式, 取值:"left", "center", "right", "inward", "outward";
- size字体大小, ggplot2字体单位是mm;
- angle文本旋转角度;
3. 注解
既可添加在前景,也可添加在背景中。
- geom_text()添加文本说明或者为点添加标签;
- geom_rect()标注图形中你感兴趣的矩形区域,有xmin, xmax, ymin, ymax四个参数;
- geom_line(), geom_path(), geom_segment() 均可添加直线,这些都支持arrow参数来绘制箭头;
- geom_vline(), geom_hline(), geom_abline()在图形添加参照线;
其他细节问题
- se=FALSE, 是指不要置信区间
ggplot(Oxboys, aes(age, height)) +
geom_line(aes(group = Subject)) +
geom_smooth(method = "lm", size = 2, se = FALSE)
- labs(x= , y= ); ggtitle(" ");
- annotate函数
annotate(
geom = "text", x = xrng[1], y = yrng[2],
label = caption, hjust = 0, vjust = 1, size = 4
) - 怎么利用多个data画图
ggplot(economics) +
geom_rect(
aes(xmin = start, xmax = end, fill = party),
ymin = -Inf, ymax = Inf, alpha = 0.2,
data = presidential
) +
geom_vline(
aes(xintercept = as.numeric(start)),
data = presidential,
colour = "grey50", alpha = 0.5
) +
geom_text(
aes(x = start, y = 2500, label = name),
data = presidential,
size = 3, vjust = 0, hjust = 0, nudge_x = 50
) +
geom_line(aes(date, unemploy)) +
scale_fill_manual(values = c("blue", "red")) +
xlab("date") +
ylab("unemployment")
4. group的问题,group的作用:控制哪些观测值用哪种图形元素。
Note: 图中所有离散型变量的交互作用被设为分组的默认值,如果没有正确分组或者没有离散型变量,就需要自定义分组结构,即将group映射到一个在不同的组有不同取值的变量。
-
多个分组与单一图形属性 Multiple groups, one aesthetic
如果group由多个变量定义而非单一,使用interaction合并各个分组变量. aes(group=interaction(school_id, student_id))
-
不同图层上的不同分组 Different groups on different layers,图形中没有离散型变量时,默认分组变量是连续型的。
-
修改默认分组 Overriding the default grouping. Some plots have a discrete x scale, but you still want to draw lines connecting across groups.
- 群组几何对象,如何将个体的图形属性映射给整体的图形属性。
折线图和路径图遵循差一原则,最后一个观测值的图形属性不会被使用;此外,每个个体的线段类型必须一致,R不支持不能类型的线段相连接的曲线;
对于其他群组几何对象如多边形图来说,只有当所有个体的图形属性都相同时,该图形属性才会被使用,如fill.
-
当图形属性映射到离线型变量时,它会默认地把群组几何对象分解为更小的块,对bar和面积图有效;
-
当图形属性映射到连续型变量时,如将fill映射到连续型变量上,没有效果,灰色;只有在设定分组的情况下,才能达到目的。