如何在 ggplot2 中设置轴断点(附示例)


您可以使用以下语法在ggplot2中设置 y 轴和 x 轴的轴跳跃:

 #set breaks on y-axis
scale_y_continuous(limits = c(0, 100), breaks = c(0, 50, 100))

#set breaks on y-axis
scale_x_continuous(limits = c(0, 10), breaks = c(0, 2, 4, 6, 8, 10))

以下示例展示了如何在实践中使用以下数据框使用此语法:

 #create data frame
df <- data. frame (x=c(1, 2, 4, 5, 7, 8, 9, 10),
                 y=c(12, 17, 27, 39, 50, 57, 66, 80))

#view data frame
df

   xy
1 1 12
2 2 17
3 4 27
4 5 39
5 7 50
6 8 57
7 9 66
8 10 80

示例 1:定义 Y 轴上的跳跃

以下代码展示了如何使用 ggplot2 创建简单的散点图:

 library (ggplot2)

#create scatterplot of x vs. y
ggplot(df, aes(x=x, y=y)) +
  geom_point() 

默认情况下,Y 轴在 20、40、60 和 80 处显示中断。但是,我们可以使用scale_y_continuous()函数来显示每 10 个值的中断:

 #create scatterplot of x vs. y with custom breaks on y-axis
ggplot(df, aes(x=x, y=y)) +
  geom_point() +
  scale_y_continuous(limits = c(0, 100), breaks = seq(0, 100, 10)) 

示例 2:定义 X 轴上的跳跃

我们可以使用scale_x_continuous()函数来设置x轴上的暂停:

 #create scatterplot of x vs. y with custom breaks on x-axis
ggplot(df, aes(x=x, y=y)) +
  geom_point() +
  scale_x_continuous(limits = c(0, 10), breaks = c(0, 2, 4, 6, 8, 10)) 

我们通常以统一的间隔设置轴跳跃,但我们可以选择仅以特定的数字设置轴跳跃。

例如,以下代码展示了如何仅在值 0、7 和 10 处显示 X 轴上的跳跃:

 #create scatterplot of x vs. y with custom breaks on x-axis
ggplot(df, aes(x=x, y=y)) +
  geom_point() +
  scale_x_continuous(limits = c(0, 10), breaks = c(0, 7, 10)) 

其他资源

以下教程展示了如何在 ggplot2 中执行其他常见操作:

如何在ggplot2中创建对数刻度
如何在ggplot2中设置轴限制
如何在ggplot2中旋转轴标签

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注