Мне нужно написать функцию, где у меня есть возможность изменить цвет каждой точки на точечной диаграмме.
Вот небольшая программа, которая повторяет проблему:
import matplotlib.pyplot as plt
from matplotlib.animation import FuncAnimation
from random import random
def get_position():
return [[random(), random()], [random(), random()]]
fig = plt.figure(1)
ax = plt.axes(xlim=(0, 1), ylim=(0, 1))
dot, = ax.plot([], [], 'bo')
def init():
dot.set_data([], [])
return dot,
def animate(i):
x = get_position()[0]
y = get_position()[1]
dot.set_data(x, y)
dot.set_color([1, 0, 0]) # this sets the colour for both dots
# dot[0].set_color([1,0,0]) # looking for something like this
# dot[1].set_color([0,1,0])
return dot,
anim = FuncAnimation(fig, animate, init_func=init, frames=10, interval=500, blit=True)
plt.show()
Моя проблема в том, что этот код устанавливает цвет только для всех точек каждого кадра. Есть ли способ перебрать каждую координату, чтобы я мог установить цвет по отдельности?