使用 4 个坐标作为输入创建 geom_mark_rect 的阴影矩形?
Create shaded rectangle with geom_mark_rect using 4 coordinates as inputs?
如何使用 ggforce rectangle 轻松地用矩形标记由四组 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 应该自动阴影):
你还没有把你的 x 和 y 点放在美学调用中 (aes
)。实际上,由于 geom_mark_rect
将从对 ggplot
的调用中继承其 aes
,您可以只提供 x 和 y 坐标作为数据框。这是一个可重现的例子:
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 package (v0.3.0)
于 2020-05-10 创建
如何使用 ggforce rectangle 轻松地用矩形标记由四组 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 应该自动阴影):
你还没有把你的 x 和 y 点放在美学调用中 (aes
)。实际上,由于 geom_mark_rect
将从对 ggplot
的调用中继承其 aes
,您可以只提供 x 和 y 坐标作为数据框。这是一个可重现的例子:
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 package (v0.3.0)
于 2020-05-10 创建