Просто работаю над небольшими данными с преобразованиями и пытаюсь соединить все точки данных, чтобы создать треугольник. В чем-то я добился успеха, но, похоже, не могу понять последнего кусочка.
Ниже приведены данные, с которыми я работаю:
library(ggplot2)
x <- c(0, 1, 0)
y <- c(0, 0, 1)
x2 <- c(0, 1, 0) + 1/2
y2 <- c(0, 0, 1) + 1/3
df = data.frame(x, y, x2, y2); df
g = ggplot(data = df, aes(x = x, y = y)) +
geom_line() + geom_path()
g
g = g + geom_line(aes(x=x2, y=y2), color = "red") +
geom_path()
g
Я бы хотел, чтобы красные линии соединялись как черные
Вы можете использовать geom_polygon
, который автоматически соединяет начальную и конечную точку:
library(ggplot2)
ggplot(data = df, aes(x = x, y = y)) +
geom_polygon(
fill = NA, color = "black"
) +
geom_polygon(aes(x = x2, y = y2),
fill = NA,
color = "red"
)
geom_polygon
— самый простой подход. Вы также можете использовать существующий подход, если добавите копию первого пункта.
ggplot(rbind(df, df[1,]), aes(x,y)) +
geom_path() +
geom_path(aes(x2,y2), color = "red")