Я ищу способ представить вектор, выходящий из точки с заданным углом и величиной в ggplot. Я рассчитал, какой должна быть конечная точка этих векторов, но не могу найти способ правильно построить это в ggplot2. Короче говоря, учитывая наблюдение с (X, Y, vec.x, vec.y), как я могу построить линию от (X, Y) до (vec.x, vec.y), которая не показывает (vec. x, vec.y)?
Моим первым инстинктом было использование geom_line, но, похоже, это зависело от соединения разных наблюдений, поэтому мне нужно было бы разделить каждое наблюдение на два наблюдения, одно с исходной точкой и однос конечной точкой вектора. Тем не менее, это кажется довольно грязным и, как должно быть, есть более чистый способ достичь этого. Кроме того, это усложнит отображение исходных точек, но сократит точки вектора, так как они будут отображаться в одном вызове geom_point.
Вот пример набора данных в форме, о которой я говорю:
test <- tibble(
x = c(1,2,3,4,5),
y = c(5,4,3,2,1),
vec.x = c(1.5,2.5,3.5,4.5,5.5),
vec.y = c(4,3,2,1,0)
)
test %>%
ggplot() +
geom_point(aes(x=x,y=y),color='red') +
geom_point(aes(x=vec.x,y=vec.y),color='blue')
Чего я надеюсь достичь, так это без синих точек:
Есть мысли? Извините, если это дублированный вопрос. Я немного погуглил и не смог найти аналогичный вопрос для ggplot.