0

如何使用ggforce 矩形轻松矩形标记由四组 xy 坐标定义的区域?

最小的例子

我本来希望这能奏效(或至少产生接近的东西)

library(ggplot2)
library(dplyr)
library(ggforce)
set.seed(123)
data.frame(x = runif(20)* 1000, y = runif(20)* 1000) %>% 
  ggplot(aes(x, y)) +
  geom_point() + 
  geom_mark_rect(x = c(500, 750, 500, 750), y = c(250, 250, 500, 500))

但它会产生这个,其中放置关闭:

在此处输入图像描述

这个位置的矩形是目标(下面的矩形没有着色,但 ggforce 应该自动着色它):

在此处输入图像描述

4

1 回答 1

1

您还没有将 x 和 y 点放入美学调用 ( aes) 中。实际上,由于将从对 的调用中geom_mark_rect继承它,因此您可以将 x 和 y 坐标作为数据框提供。这是一个可重现的示例:aesggplot

library(ggplot2)
library(dplyr)
library(ggforce)

set.seed(123)
data.frame(x = runif(20) * 1000, y = runif(20) * 1000) %>% 
  ggplot(aes(x, y)) +
  geom_point() +
  geom_mark_rect(data = data.frame(x = c(500, 750, 500, 750), 
                                   y = c(250, 250, 500, 500)), fill = "red")

reprex 包(v0.3.0)于 2020-05-10 创建

于 2020-05-09T23:23:46.657 回答