Цель состоит в том, чтобы нарисовать многоугольник, а затем перевести его по горизонтали. Это нужно показать как анимацию. Ниже мой код: -анимация для перевода многоугольника с использованием matplotlib
import matplotlib.pyplot as plt
from matplotlib.path import Path
import matplotlib.patches as patches
import time
import numpy as np
verts = np.array([
[0., -0.25],
[0.5, 0.],
[0., 0.25],
[0., -0.25]
])
codes = [Path.MOVETO,
Path.LINETO,
Path.LINETO,
Path.CLOSEPOLY,
]
path = Path(verts, codes)
fig = plt.figure()
ax = fig.add_subplot(111)
patch = patches.PathPatch(path, facecolor='orange')
ax.add_patch(patch)
ax.set_xlim(-10,10)
ax.set_ylim(-10,10)
plt.show()
time.sleep(1)
verts[:,0]=verts[:,0]+3
path = Path(verts, codes)
patch = patches.PathPatch(path, facecolor='orange')
ax.add_patch(patch)
plt.draw()
plt.show()
Upto, я нарисовать треугольник, а затем показать его. После этого я даю паузу, чтобы смоделировать время прохождения анимации. Затем я перерисовываю треугольник, но когда я попрошу matplotlib
обновить сюжет, изменений не будет. Где я делаю ошибку?
Второй вопрос, вместо перерисовки треугольника, я хотел только обновить координаты вершины уже существующего треугольника, используя метод set_patch
, но такого метода нет. В то время как мы используем set_ydata
и т. Д. Для изменения существующих графиков и создания анимации. Как использовать некоторый метод установки для оживления желаемого движения?