Matplotlib анимирует форму fill_betweenPython

Программы на Python
Anonymous
Matplotlib анимирует форму fill_between

Сообщение Anonymous »

Я пытаюсь анимировать фигуру fill_between внутри matplotlib и не знаю, как обновить данные PolyCollection. Возьмем простой пример: у меня есть две строки, и я всегда заполняю их. Конечно, линии меняются и анимируются.
Вот пример:

Код: Выделить всё

import matplotlib.pyplot as plt

# Init plot:
f_dummy = plt.figure(num=None, figsize=(6, 6));
axes_dummy = f_dummy.add_subplot(111);

# Plotting:
line1, = axes_dummy.plot(X, line1_data, color = 'k', linestyle = '--', linewidth=2.0, animated=True);
line2, = axes_dummy.plot(X, line2_data, color = 'Grey', linestyle = '--', linewidth=2.0, animated=True);
fill_lines = axes_dummy.fill_between(X, line1_data, line2_data, color = '0.2', alpha = 0.5, animated=True);

f_dummy.show();
f_dummy.canvas.draw();
dummy_background = f_dummy.canvas.copy_from_bbox(axes_dummy.bbox);

# [...]

# Update plot data:
def update_data():
line1_data = # Do something with data
line2_data = # Do something with data
f_dummy.canvas.restore_region( dummy_background );
line1.set_ydata(line1_data);
line2.set_ydata(line2_data);

# Update fill data too

axes_dummy.draw_artist(line1);
axes_dummy.draw_artist(line2);

# Draw fill too

f_dummy.canvas.blit( axes_dummy.bbox );
Вопрос в том, как обновлять данные fill_between Poly на основе line1_data и line2_data каждый раз update_data() > вызывается и рисует их перед копированием («# Обновить данные заливки тоже» & «# Также нарисовать заливку»). Я попробовал fill_lines.set_verts() безуспешно и не смог найти пример.

Подробнее здесь: https://stackoverflow.com/questions/161 ... ween-shape

Вернуться в «Python»