我正在为一位客户做一些工作,我想展示一位员工所走的路线图。我想根据特定的顺序制作动画,这样我就可以演示员工回到手推车上的次数。
我已经读了图像并在图像上画出了锚点。我只是有点不知道如何让画线在锚点之间移动。
CAD image
from matplotlib import image
from matplotlib import pyplot as plt
import numpy as np
# to read the image stored in the working directory
data = image.imread('Asset 1.png')
# to draw points on co-ordinates
plots = np.array([[500,200], #trolley
[420,200], #bath/shower
[370,45], #wardrobe
[370,320], #sink
[320,250], #toilet
[280,45], #fridge/coffee
[175,40], #desk
[180,150], #bed
[250,220], #bedside table 1
[110,220], #bedside table 2
[40,150], #table
[20,100], #window/curtains
[65,190], #chair
[75,75]]) #carpet
x,y = plots.T fig, ax = plt.subplots()
plt.imshow(data)
plt.scatter(x,y, marker='o', color="red")
fig.savefig('DoubleRoom.png')
plt.show()
这就得到了上面的图像。但是我如何在点之间绘图呢?例如,第一步=手推车-〉浴缸/淋浴第二步=淋浴-〉床等。
希望这个请求是有意义的,任何帮助或指导将不胜感激。
2条答案
按热度按时间ve7v8dk21#
下面是一个可行的方法。我使用你分享的图片作为动画的背景。然后你可以用
plt.imshow(data)
和l,=plt.plot(plots[0,0],plots[0,1],marker='o',ls='--',lw=2,markersize=10)
启动你的绘图,并在更新函数中用set_xdata
和set_ydata
更改每一帧的绘图值。注意,轨迹中有一个轻微的偏移,因为我没有“I don“我没有机会看到这个房间的原始照片。gkl3eglg2#
要设置动画,需要使用matplotlib中的动画。动画导入FuncAnimation