2013-07-05 3 views
1

В Matplotlib у меня есть несколько наборов точек для заполните различные цвета, по одному на каждый комплект. Теперь количество наборов меняется, поэтому я хотел бы удостовериться, что один и тот же цвет не появляется более одного раза в одном и том же сюжете.Matplotlib: присваивать всевозможный цвет

Прямо сейчас я просто:

colors = itertools.cycle(['r','g','b','c','y','m']) 
# ... 
ax.plot(Xs_for_a_set, Ys_for_a_set, c=colors.next()) 

... но я ограничен этим количеством цветов. Из documentation я не понимаю, как указать случайный цвет в RGB ...

ответ

1

Вы можете указать цвет как шестнадцатеричное значение в строке.

color = '#eeefff' 

Используя это, вы по существу имеют доступ ко всем цветам через RGB и может создать столько цветов, сколько вам нужно

+0

Хорошо, так что я должен кормить его случайное шестнадцатеричное число в пределах некоторого заранее определенного диапазона? –

+0

Все в порядке, я просто заметил, что могу использовать цвета HTML, поэтому я просто скопирую и вставлю несколько из них и буду использовать их. ;) –

+1

Отлично, рад, что сработает. Но на ваш первый вопрос. Да, вы можете начать с некоторых основных цветов, но тогда, когда вам нужно немного изменить значение HEX. Например ... FF0000 является чисто красным. Если вам нужен другой цвет, FF9999 является «более светлым красным». Вы можете применить этот принцип ко всем цветам и иметь множество возможностей цвета – sedavidw