matplotlib не меняет цвета точек разброса, если они назначены в первый раз - PullRequest
3 голосов
/ 31 октября 2011

В следующем минимальном примере я создаю точечную диаграмму из 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()

Это ошибка, или я что-то упустил в документации?

1 Ответ

2 голосов
/ 06 ноября 2011

Я бы сказал, что это ошибка / ограничение этой версии matplotlib.Я попробовал код с:

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)

Поэтому я рекомендую вам обновить вашустановка, если это возможно

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...