定制 ggplot2 轴和标签--如何让它们更有信息量

在可视化数据时,带坐标的图表最重要的是什么?就是调整坐标轴和标签,使信息更容易理解。 使用 R 的 ggplot2 软件包提供了多种轴定制选项,很好地满足了这一需求。

今天 使用 ggplot2 轴选项自由设置图表的轴和标签我们将对每段代码进行详细解释,方便初学者学习!

默认情况下 ggplot2会自动设置每个坐标轴的范围和标签。不过,有时您需要手动调整它们以适应您的数据。今天我们就来学习如何调整 X 轴和 Y 轴,以及如何手动设置范围。

选项说明主要参数
scale_x_continuous() / scale_y_continuous()调整连续坐标轴的范围、间距和标签。限制、中断、标签
scale_x_discrete() / scale_y_discrete()为分类数据设置坐标轴属性标签、扩展、限制
coord_flip()翻转 x 轴和 y 轴,使其垂直显示。无(翻转轴)
实验室()为 x 轴和 y 轴添加标题和标签。标题、x、y
theme(axis.text.x)调整 X 轴文字的角度、颜色、大小等。角度、高度、颜色、尺寸
theme(axis.text.y)调整 Y 轴文本的旋转、颜色、字体大小等。角度、V 调整、颜色、尺寸

使用 geom_line() 绘制基本的折线图

ggplot2 axis - line graph

首先,让我们使用 geom_line() 绘制一个折线图。 运行下面的代码将创建一个如上图所示的图形。

加载 # 库
library(ggplot2)

生成 # 示例数据
data <- data.frame(
  x = 1:10,
  y = c(3, 5, 8, 4, 7, 9, 10, 6, 8, 7)
)

生成 # 基线图
ggplot(data, aes(x = x, y = y)) +
  geom_line() +
  labs(title = "基本折线图", x = "X 轴", y = "Y 轴")

代码说明:

  • library(ggplot2): 加载 ggplot2 软件包。
  • aes(x = x, y = y):指定用于 x 轴和 y 轴的数据。
  • geom_line():生成折线图。
  • labs(): 为图表添加标题和坐标轴标签。

2. 自定义坐标轴标签:scale_x_continuous() 和 scale_y_continuous()

ggplot2 axis - line graph2

scale_x_continuous() 和 scale_y_continuous() 用于缩放连续数据的坐标轴。您可以调整坐标轴的范围或更改其标签。运行下面的代码将创建如上图所示的图表。

加载 # 库
library(ggplot2)

生成 # 示例数据
data <- data.frame(
  x = 1:10,
  y = c(3, 5, 8, 4, 7, 9, 10, 6, 8, 7)
)

# 自定义坐标轴范围和标签
ggplot(data, aes(x = x, y = y)) +
  geom_line()
  scale_x_continuous(limits = c(0, 12), breaks = seq(0, 12, 2), labels = paste0(seq(0, 12, 2), "units")) +
  scale_y_continuous(limits = c(0, 12), breaks = seq(0, 12, 2)) +
  labs(title = "自定义轴", x = "X 轴", y = "Y 轴")

代码说明:

  • scale_x_continuous(limits = c(0, 12), breaks = seq(0, 12, 2), labels = paste0(seq(0, 12, 2), " units")):将 x 轴的范围限制在 0 到 12 之间,将标签设置为 2 个单位,并在每个标签上添加 "单位"。
  • scale_y_continuous(limits=c(0,12),breaks=seq(0,12,2)):将 y 轴的范围限制在 0 至 12 之间,并将标签设置为 2 个单位。

3. 旋转和重新定位坐标轴:使用 theme() 函数

ggplot2 axis - line graph3

旋转或调整坐标轴标签的位置可以使数据解释更加容易。 让我们使用 theme() 函数来调整标签角度。 运行下面的代码将创建一个如上图所示的图表。

加载 # 库
library(ggplot2)

生成 # 示例数据
data <- data.frame(
  x = 1:10,
  y = c(3, 5, 8, 4, 7, 9, 10, 6, 8, 7)
)

在 # 轴上旋转标签的示例
ggplot(data, aes(x = x, y = y)) +
  geom_line()
  theme(axis.text.x = element_text(angle = 45, hjust = 1)) +
  labs(title = "旋转 X 轴标签", x = "X 轴", y = "Y 轴")

代码说明:

  • theme(axis.text.x = element_text(angle = 45, hjust = 1)):将 x 轴标签旋转 45 度,并将 hjust 设为 1,使标签向右对齐。

4. 转换坐标系:使用 coord_flip() 翻转 x 轴和 y 轴

ggplot2 axis - line graph4

有时,为了获得更好的视图,最好将 x 轴和 y 轴翻转一下。通过 coord_flip(),可以轻松交换 x 轴和 y 轴。运行下面的代码将创建如上图所示的图形。

加载 # 库
library(ggplot2)

生成 # 示例数据
data <- data.frame(
  x = 1:10,
  y = c(3, 5, 8, 4, 7, 9, 10, 6, 8, 7)
)

# 坐标系转换示例
ggplot(data, aes(x = x, y = y)) +
  geom_line() +
  coord_flip() +
  labs(title = "Flip X, Y axis", x = "X axis", y = "Y axis")

代码说明:

  • coord_flip():翻转 x 轴和 y 轴以垂直表示数据。该选项在需要提高可读性时非常有用。

总结:使用 ggplot2 轴选项更好地理解数据!

我们已经看到 ggplot2 的坐标轴选项如何帮助您更清晰地表达数据。 像调整坐标轴范围、自定义标签、旋转和转换坐标系这样的微小变化,都会对数据的可解释性产生重大影响。

现在,请继续尝试使用 ggplot2 的坐标轴选项吧!在下一篇文章中,我们将研究 如何利用 ggplot2 颜色选项使数据可视化生动活泼我来

类似文章