模块课程(2/2)
定制和方面
除了定义几何形状和美学之外,ggplot2 还允许您通过添加标题、修改主题和分面(将绘图拆分为子面板)来完全自定义绘图的视觉外观。
标题和标签:labs()
要添加主标题、副标题以及自定义轴标签或图例标题,我们添加 labs() 层:
ggplot(df, aes(x = age, y = income)) +
geom_point() +
labs(
title = "Income by Age",
subtitle = "2026 census data",
x = "Age (years)",
y = "Annual Income (EUR)",
color = "Gender"
)视觉主题:theme_*()
ggplot2 包括几个预先打包的主题,可以更改背景、网格线和版式。一些最常见的是:
theme_gray()(浅灰色背景的默认主题)。theme_minimal()(带有细网格线的干净白色背景)。theme_classic()(简单经典样式,没有背景网格线)。
ggplot(df, aes(x = age, y = income)) +
geom_point() +
theme_minimal() # Applies a clean, modern style将图拆分为子面板:facet_wrap()
分面允许您根据分类变量的值将单个图并排拆分为多个子图(面板)。
主要函数是 facet_wrap() 并使用 R 公式符号 (~ variable_name):
# Creates a separate subplot for each department
ggplot(df, aes(x = age, y = income)) +
geom_point() +
facet_wrap(~ department)自己尝试一下
练习 1:添加标题和轴
给定散点图,添加一个 labs() 图层,将标题 (title) 设置为“Title”,将 x 轴标签设置为“Age”,将 y 轴标签设置为“Income”。
显示提示
使用 labs(title = 'Title', x = 'Age', y = 'Income') 将其与 '+' 连接起来。
3 次尝试后可用的解决方案
练习 2:应用干净的主题
将 theme_minimal() 图形主题应用到下面的散点图上,以提高其视觉美感。
显示提示
使用“+”号并添加 theme_minimal() 函数。
3 次尝试后可用的解决方案
练习 3:使用facet_wrap 分割图
使用facet_wrap()函数根据部门列将散点图分割成不同的面板。
显示提示
使用facet_wrap(~department)来分割图。
3 次尝试后可用的解决方案
练习 4:翻转坐标轴
要使包含多个类别的柱形图可读,您可以翻转 x 轴和 y 轴。将 coord_flip() 图层添加到条形图中。
显示提示
使用 coord_flip()legandolo alla pipeline ggplot con '+'。
3 次尝试后可用的解决方案
练习 5:完成可发表的情节
在 df 上创建完整的绘图:在 geom_point() 内将年龄映射到 x,将收入映射到 y,将颜色映射到性别。使用facet_wrap()按部门分割绘图,添加标题为“按年龄薪资”的labs(),最后应用theme_minimal()。
显示提示
使用“+”组合所有图层:ggplot(...) + geom_point() + facet_wrap(~ Department) + labs(title = 'Salary by Age') + theme_minimal()
3 次尝试后可用的解决方案