我希望能够从宽数据中绘制多边形,这样我就有几个变量指定第一个,第二个... x坐标,y相同。
现在我知道的唯一解决方案是使用geom_polygon并使我的数据比需要的时间长4倍(每点一行)。我希望能够在不改变数据行数的情况下完成此操作。
我在这里创建了一个虚拟示例,我想绘制并填充由下面创建的一行数据框指定的梯形。我用点绘制它只是为了表明它是一个梯形。
第二个"情节"是尝试将geom_polygon与宽数据一起使用。我希望能够说x是数据框中的这些列。在真实的情况下,我也将分组,因为我的数据不止一行。
谢谢!
require(dplyr)
require(ggplot2)
DATA <- data.frame(
x_low_left = c(2),
x_low_right = c(8),
x_upper_right = c(10),
x_upper_left = c(0),
y_low_left = c(0),
y_low_right = c(0),
y_upper_right = c(6),
y_upper_left = c(6)
)
ggplot(DATA) +
geom_point(aes(x_low_left, y_low_left)) +
geom_point(aes(x_low_right, y_low_right)) +
geom_point(aes(x_upper_right, y_upper_right)) +
geom_point(aes(x_upper_left, y_upper_left)) +
coord_fixed(ylim = c(-2, 8), xlim = c(-2, 12))
ggplot(DATA) +
geom_polygon(x=c(x_low_left, x_low_right, x_upper_right, x_upper_left),
y=c(y_low_left, y_low_right, y_upper_right, y_upper_left)) +
coord_fixed(ylim = c(-2, 8), xlim = c(-2, 12))