Построение прогрессивной двухточечной прогулки в R
Как я могу построить прогрессивную прогулку от точки к точке?
Пусть p1 =[1,0], p2=[0,1], p3=[1,1]. Участок должен сначала нарисовать линию от p1 до p2, показывающую направление, подождать секунду, затем нарисовать еще одну линию от p2 до p3, и она продолжится, если у вас будет больше данных.
Размер графика сначала должен быть зафиксирован на (0,1)^2. Правильный вывод должен выглядеть примерно так:
Мой код это сейчас:
plot(x,y,xlim=range(x), ylim=range(y), xlab="x", ylab="y", main="Filled Plane",pch=16)
#lines(x,y,xlim=range(x),ylim=(y),pch=16)
for(i in 1:20){
arrows(x[i],y[i],x[i+1],y[i+1],length = 0.25, angle = 30, col = 1:3)
}
1 ответ
Одним из вариантов является использование стрелок. Во-первых, вам нужно создать сюжет с данными, которые вы хотите. Затем вы можете рисовать линии, чтобы соединить ваши точки. Допустим, у вас есть случайные равномерные массивы x,y. Установите предел, чтобы решить, сколько точек вы хотите построить. Хотя я сразу расставил точки (иначе не смог бы правильно расположить сетку) Надеюсь, это поможет.
limit<- 50
x <- runif(limit)
y <- runif(limit)
plot(x,y, xlim=range(0,1), ylim=range(0,1),
xlab="x", ylab="y", main = "Random Walk")
grid(nx = 10, ny = 10, col = "lightgray", lty = "dotted",
lwd = par("lwd"), equilogs = TRUE)
for(i in 1:limit){
arrows(x[i],y[i],x[i+1],y[i+1], length = 0.1, angle = 20)
Sys.sleep(0.5)
}