Python 更改matplotlib动画中的RGB颜色

Python 更改matplotlib动画中的RGB颜色,python,matplotlib,colors,Python,Matplotlib,Colors,我似乎不可能通过RGB定义更改Matplotlib散点图的颜色。我错了吗 下面是一段代码(已在堆栈溢出中给出),它可以处理在float中索引的颜色: import matplotlib.pyplot as plt import numpy as np import matplotlib.animation as animation def main(): numframes = 100 numpoints = 10 color_data = np.random.ran

我似乎不可能通过RGB定义更改Matplotlib散点图的颜色。我错了吗

下面是一段代码(已在堆栈溢出中给出),它可以处理在float中索引的颜色:

import matplotlib.pyplot as plt
import numpy as np
import matplotlib.animation as animation

def main():
    numframes = 100
    numpoints = 10

    color_data = np.random.random((numframes, numpoints))
    x, y, c = np.random.random((3, numpoints))

    fig = plt.figure()
    scat = plt.scatter(x, y, c=c, s=100)

    ani = animation.FuncAnimation(fig, update_plot, frames=range(numframes),
                                  fargs=(color_data, scat))
    plt.show()

def update_plot(i, data, scat):
    scat.set_array(data[i])
    return scat,

main()
但是如果通过RGB颜色定义了
color\u数据
,我会得到一个错误:

ValueError:集合只能映射秩1数组

相关代码如下(在此代码中,我每次只更改一个示例的颜色):


是否有方法将
设置\u数组
与RGB颜色数组一起使用?

不确定您想要实现什么。但是,如果您试图更改颜色,为什么不使用
集合的
设置颜色()
功能呢

def update_plot2(i,data,scat):
    data[ i%10 ] = np.random.random((3))
    scat.set_color(data) # <<<<<<<<<<<<<<<<<<<
    return scat,
def更新图2(i、数据、scat): 数据[i%10]=np.random.random((3))
scat.set_color(data)#比
scat.set_array()
工作得更好,因为
scat.set_color()
接受RGB值!
def update_plot2(i,data,scat):
    data[ i%10 ] = np.random.random((3))
    scat.set_color(data) # <<<<<<<<<<<<<<<<<<<
    return scat,