geom_polygon / geom_path,数据范围广

时间:2016-03-06 23:03:48

标签: r ggplot2

我希望能够从宽数据中绘制多边形,这样我就有几个变量指定第一个,第二个... 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))

0 个答案:

没有答案