更新散点图的标记大小

3 投票
2 回答
1896 浏览
提问于 2025-04-18 12:27

散点图对象有一个叫做 .set_array 的方法,可以用来更新标记的颜色,还有一个 .set_offsets 方法,可以用来更新标记的位置。但是,我该怎么更新标记的大小呢?

我需要这个功能来进行快速的实时绘图。

2 个回答

5

更新散点大小的方法叫做 .set_sizes()

scat = plt.scatter(x,y)
scat.set_sizes(sizes)

这里的 sizes 必须是一个数组或列表,长度要和 xy 一样。

5

是的,这个是可以做到的,使用一个叫做魔法方法的方法(_size)。不过要小心使用,因为在未来的版本中可能会出现问题:

from matplotlib import pyplot as plt
import numpy as np

x, y=range(10), range(10)
sca=plt.scatter(x,y)
raw_input()
sca._sizes=(5+np.arange(10))*10 #you can set you markers to different sizes
plt.draw()

在这里输入图片描述

撰写回答