什么是 ggplot2?
在分析数据时,您经常希望以可视化方式呈现结果。 起初,这可能看起来很复杂,当您无法获得想要的外观时,您可能会感到沮丧。 没关系!R 语言提供了 ggplot2 套餐让任何人都能为他们的数据注入生命和故事。
在本篇文章中,我们将使用 ggplot2 创建一个简单的 盒图和 条形图我将逐步解释代码,请随时跟我学习!
什么是 ggplot2?
ggplot2 是 R 中使用最广泛的 可视化软件包.它可以轻松创建复杂的图表,让你对数据的结构和模式一目了然,这在你想了解数据分布或比较两组数据时非常有用。今天,我们将使用 ggplot2 创建一个 盒图和 条形图以掌握基础知识。
顺便提一下,ggplot2 软件包是由 Hadley Wickham 及其同事开发的,其主要理念基于一种被称为 "图形语法 "的方法。 你可以理解为什么软件包名称以 gg 开头了。
1. 用 ggplot2 绘制方框图
方框图是数据的 中位数、分布、最小值和最大值一目了然。现在,让我们一起编写一些代码吧。
📌 示例代码
# 加载 ggplot2 库
library(ggplot2)
# 创建示例数据:A、B 和 C 三组数据
data <- data.frame(
group = rep(c("A", "B", "C"), each = 50)、
value = c(rnorm(50, mean = 5), rnorm(50, mean = 7), rnorm(50, mean = 9))
)
# 创建方框图
ggplot(data, aes(x = 组, y = 值)) +
geom_boxplot() +
labs(title = "Distribution of Values by Group", x = "Group", y = "Value")✨ 代码说明
- library(ggplot2): 加载 ggplot2 软件包。
- data.frame():创建一个示例数据框。在这里,我们创建了名为组(A、B、C)的类别和名为值的随机值。
- ggplot():这是启动图形的函数。 将所需数据放入 ggplot,即可启动可视化。
- aes(x = 组,y = 值):指定图表的坐标轴。x 轴是组,y 轴是值。
- geom_boxplot():该函数绘制方框图,显示数据的中位数和分布情况。
- labs(): 为图表添加标题和坐标轴标签。为了美观,我给标题和每个坐标轴都起了名字。
现在,如果运行你编写的代码,就可以一目了然地看到 A、B 和 C 组的分布情况,如下图所示 方框图就会完成!

用 ggplot2 绘制条形图
现在让我们创建一个条形图,条形图通常用于直观显示分类数据的频率(计数)。它是查看每组数据点数量的简便方法。
📌 示例代码
# 加载 ggplot2 库
library(ggplot2)
生成 # 示例数据:三组数据,A、B 和 C
data <- data.frame(
group = rep(c("A", "B", "C"), each = 50)、
value = c(rnorm(50, mean = 5), rnorm(50, mean = 7), rnorm(50, mean = 9))
)
生成 # 条形图
ggplot(data, aes(x = group)) +
geom_bar() +
labs(title = "Frequency by Group", x = "Group", y = "Frequency")✨ 代码说明
- aes(x = 组):在 x 轴上设置组变量,以表示每个组的频率。
- geom_bar():绘制条形图的函数。默认情况下,它会自动计算每组的频率。
- labs(): 为图表添加标题和坐标轴标签,使其更易于理解。
现在,运行这段代码后,您将看到各组数据的频率,如下所示 条形图屏幕中央!

总结:欢迎来到 ggplot2 的世界!
您现在已经学会了如何使用 ggplot2 绘制简单的方框图和柱状图。一开始可能会因为不习惯而有点畏难,但 ggplot2 可以将数据的许多不同方面可视化,而且您学得越多,它就会变得越有趣!
如果想使用 ggplot2 查看带误差条的柱形图,可以使用 2024 年的世界大事:美国总统大选民调一览 - R Coding Visualisation 一文获取更多信息。在下一篇文章中,我们将介绍 ggplot2 的一些高级选项,敬请期待!
顺便提一下,介绍 ggplot2 的页面提到了学习该软件包的好方法,如下所示
- 数据科学 R在 "数据可视化与交流 "一章中本书全面介绍了 tidyverse,帮助您快速掌握 ggplot2 的核心元素。本书以通俗易懂的方式分解了难以理解的概念,非常适合刚入门的读者。
- 在线讲座如果您想通过在线课程学习,请查看 Kara Woo 的" "。用 ggplot2 在 R 中实现数据可视化"课程中,您将通过实际案例从头开始学习可视化基础知识。
- 网络研讨会注:您可能还想参加 Thomas Lin Pedersen 的 "使用 ggplot2 绘制任何图形 "网络研讨会,这将让您有机会看到一些真实世界的示例并培养您的技能。
- R 图形食谱注:如果您想专注于快速创建常用图表,请查看 Winston Chang 的"R 图形食谱"我还推荐这本书,它以食谱的形式为常见的图形问题提供了解决方案。
- 如果您是高级用户如果您已经掌握了基础知识,并希望深入学习、 "ggplot2:用于数据分析的优雅图形"一旦了解了 ggplot2 背后的理论,你就可以根据自己的需要创建新的图形了。






