Attualmente ho costruito un grafico usando le patch rettangolari per visualizzare una sequenza di posizioni.Sovrapposizione immagini ruotate sulla trama con Matplotlib
EDIT: codice usato per generare questo (costruita fuori della biblioteca RLPy) -
def visualize_trajectory(self, trajectory=[[0,0,0,0], [0.1,0.1,0,0]]):
domain_fig = plt.figure()
for i, s in enumerate(trajectory):
x, y, speed, heading = s[:4]
car_xmin = x - self.REAR_WHEEL_RELATIVE_LOC
car_ymin = y - self.CAR_WIDTH/2.
car_fig = matplotlib.patches.Rectangle(
[car_xmin,
car_ymin],
self.CAR_LENGTH,
self.CAR_WIDTH,
alpha=(0.8 * i)/len(trajectory))
rotation = Affine2D().rotate_deg_around(
x, y, heading * 180/np.pi) + plt.gca().transData
car_fig.set_transform(rotation)
plt.gca().add_patch(car_fig)
Esiste un modo per sovrapporre ciascuna di queste patch con le immagini? Idealmente, ci sarebbe un'immagine di auto invece di un rettangolo in ciascuna delle posizioni.
Ho giocato con AnnotationBbox e TransformedBbox, ma entrambi sembrano non essere flessibili quando si tratta di rotazioni.
codice aggiunto in precedenza. – richliaw