在matplotlib动画中更改RGB颜色

2024-05-31 23:40:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我似乎不可能通过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()

但是如果color_data是通过RGB颜色定义的,我会得到一个错误:

ValueError: Collections can only map rank 1 arrays

相关代码如下(在这段代码中,我每次只改变一个样本的颜色):

^{pr2}$

有没有办法将set_array与RGB颜色数组一起使用?在


Tags: 代码importdata定义颜色asnpplt
1条回答
网友
1楼 · 发布于 2024-05-31 23:40:01

不知道你想达到什么目的。但是如果你想改变颜色,为什么不使用set_color()函数Collection?在

def update_plot2(i,data,scat):
    data[ i%10 ] = np.random.random((3))
    scat.set_color(data) # <<<<<<<<<<<<<<<<<<<
    return scat,

相关问题 更多 >