在ggplot 2中,如何连接geom_line中的起点和终点

时间:2016-08-31 05:57:03

标签: r ggplot2

我想连接三个点" a"," b"和" c"使用geom_line,但它只连接" ab"和" bc",但不是" ca",如何使用geom_line或geom_path而不是geom_polygon来实现呢?

library(ggplot2)
df <- data.frame (line =c ("a", "b", "c"), x = c(1, 2, 3), y = c(5, 2, 5))

ggplot() +
geom_path(data = df, aes (x = x, y = y, color = line))

2 个答案:

答案 0 :(得分:3)

您需要在结尾处重复第一行以获得关闭多边形,而不使用geom_polygon

ggplot(rbind(df, head(df, 1)), aes(x = x, y = y, color = line, group = 1)) + 
  geom_path()

enter image description here

答案 1 :(得分:1)

通过在矢量中添加第一个点来绘制平行于x轴的线段,可以采用一种方法。基本上,如果要创建多边形,则需要提供geom_path的完整路径。

注意:第d行:

df <- data.frame (line =c ("a", "b", "c","d"), x = c(1, 2, 3,1), y = c(5, 2, 5,5))

     ggplot ()+
       geom_path(data = df, aes (x = x, y = y))

希望这有帮助!