Python Matplotlib:希望通过在迭代覆盖数据时更新c变量来动态绘制绘图吗

Python Matplotlib:希望通过在迭代覆盖数据时更新c变量来动态绘制绘图吗,python,matplotlib,Python,Matplotlib,我正在使用matplotlib绘制一个3d热图,通过绘制一个3d散点图,其中每个数据点的颜色对应于它发生的频率。当程序读取我的数据并动态更新图表时,我想增加“freq”中的值。有像“.set_xdata()”这样的函数来更新散点图的“x”,但我找不到类似的函数来更新散点图的“c”。这就是我目前正在做的,速度很慢,过了一段时间就会崩溃: location = 0 for row in df.itertuples(index=False): location = row[4]+4*row[5

我正在使用matplotlib绘制一个3d热图,通过绘制一个3d散点图,其中每个数据点的颜色对应于它发生的频率。当程序读取我的数据并动态更新图表时,我想增加“freq”中的值。有像“.set_xdata()”这样的函数来更新散点图的“x”,但我找不到类似的函数来更新散点图的“c”。这就是我目前正在做的,速度很慢,过了一段时间就会崩溃:

location = 0
for row in df.itertuples(index=False):
    location = row[4]+4*row[5]+16*row[6]
    color_freq[location] += 1
    ax.scatter(xs, ys, zs, c=color_freq, s=300)
    ax.draw_artist(ax.patch)
    fig.canvas.update()
    fig.canvas.flush_events()

我不想做“ax.scatter(xs,ys,zs,c=color_freq,s=300)”,我只想更新“c”变量。有什么想法吗?谢谢。

set\u data
set\u array
您应该看看。
set\u data
set\u array
您应该看看。