在下面的最小例子中,我创建了1点散点图,然后使用Collection.set_color更改了循环中点的颜色。如果我在第一次调用scatter时设置颜色,set_color
将不会更改其面部颜色(仅边缘颜色),而如果我在创建散点图时未指定颜色,面部颜色将根据set_color
更改。
from pylab import *
from numpy import *
coll=scatter([0],[0],s=500,c=[.1]) # omit c=[.1] here to have face color changing later
ion(); show()
for a in linspace(.1,.9):
coll.set_color(coll.get_cmap()(a))
draw()
这是一个错误,还是我在文档中遗漏了什么?
答案 0 :(得分:2)
我想说这是matplotlib版本的bug /限制。 我尝试了代码:
matplotlib 1.0.1 (ActivePython 2.6.7, win7 64bit) --> reproduced the behavior
matplotlib 1.1.0.dev (ActivePython 3.2.2, winXP, 32bit) --> works as expected
还有来自Avaris的评论说他得到了mpl 1.1.0(win7,32bit)的预期行为
因此,如果可能的话,我建议您升级安装