У меня есть созданная сетка в numpy с координатами x и y с z в качестве значения, которое будет использоваться для точек раскраски:
import matplotlib.pyplot as plt
import matplotlib.animation as animation
import numpy as np
%matplotlib notebook
x, y, z = np.meshgrid(np.arange(1, 101), np.arange(1, 101), np.zeros(1), indexing = "xy")
Если я построю это с использованием разброса, я получу нужный результат :
plt.scatter(x, y, c = z)
Теперь я написал функцию обновления, которая принимает x и y и управляет z:
def funcUpdate():
global x, y, z
for i in range(len(x)):
for j in range(len(y)):
count = int(np.count_nonzero(z[i-1:i+2, j-1:j+2] == 1))
if count > 0:
if count == 1:
chance = 5
if count > 1 and count <= 4:
chance = 6-count
else:
chance = 1
if np.random.randint(chance) == 1:
z[i, j] = 1
И теперь я застрял. Я хотел бы запускать функцию обновления n раз и иметь анимацию, которая обновляет мой график рассеяния для каждого шага. Пожалуйста, помогите.