画一个正方形

sta*_*oob 1 r data-visualization ggplot2

我正在尝试在 R 中画一个正方形:

ggplot() + 
    geom_rect(aes(xmin = 1, xmax = sqrt(pi), ymin = 1, ymax = sqrt(pi)))
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

但这会产生一个看起来更像矩形的形状 - 我认为这是因为缩放比例不正确?

有人可以告诉我如何解决这个问题吗?

Dan*_*ams 6

从高度和宽度相等的意义上来说,您的图形确实是一个正方形,但是轴xy轴不会强制以相同的间距显示,因此它们在显示器上或打印时可能不会占据相同的长度。有几种方法可以约束轴,因此 1 中的单位y与 中 1 单位的大小相同x

library(ggplot2)

p <- ggplot() + 
  geom_rect(aes(xmin = 1, xmax = sqrt(pi), ymin = 1, ymax = sqrt(pi)))

p
Run Code Online (Sandbox Code Playgroud)

p + coord_equal()
Run Code Online (Sandbox Code Playgroud)

p + coord_fixed()
Run Code Online (Sandbox Code Playgroud)

p + theme(aspect.ratio = 1)
Run Code Online (Sandbox Code Playgroud)

由reprex 包于 2022 年 1 月 31 日创建(v2.0.1)


归档时间:

查看次数:

1040 次

最近记录:

4 年,4 月 前