如何在 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))