如何在 R 中使用 ggplot2 创建的图中排除点和轴之间的额外边距?

r programmingserver side programmingprogramming更新于 2025/4/11 20:52:17

在使用 ggplot 包创建的图中,图的所有边周围都存在一个额外的区域,该区域占用了额外的空间,因此我们可能希望通过移除该额外边距区域来消除该空间。这可以通过在 scale_x_continuous 和 scale_y_continuous 函数的帮助下将两个轴的比例设置为零来实现。

考虑下面的数据框 −

示例

set.seed(151)
x<-rnorm(20,5,1)
y<-rnorm(20,5,2)
df<-data.frame(x,y)
df

输出

      x         y
1  4.948461 2.255857
2  5.765737 1.726474
3  4.853260 4.280697
4  4.886814 7.402230
5  4.604489 3.708252
6  5.782276 3.978782
7  3.602522 3.801754
8  3.981162 6.091206
9  5.229476 4.017412
10 5.672173 5.383071
11 4.515448 3.882945
12 5.560609 6.845399
13 5.066156 7.307996
14 3.650124 2.255179
15 4.757084 7.580363
16 3.763259 7.309804
17 3.525322 7.891359
18 7.437159 5.522026
19 5.673526 8.858292
20 5.310040 3.800228

加载 ggplot2 包并在 x 和 y 之间创建散点图 −

示例

library(ggplot2)
ggplot(df,aes(x,y))+geom_point()

输出

通过排除额外的边距区域在 x 和 y 之间创建散点图 −

示例

ggplot(df,aes(x,y))+geom_point()+scale_x_continuous(expand=c(0,0))+scale_y_continuous(expand=c(0,0))

输出


相关文章