Я пытался следить за the instructions here, чтобы установить цвет многих строк вдоль оттенков серого, используя поплавки от 0.
(белый) до 1.
(черный). Функция line.set_color()
принимает поплавки, но ниже ошибка появляется, когда я plt.show()
:matplotlib, установите цвет линий вдоль оттенков серого, используя цифры от 0. (белый) до 1. (черный)
ValueError: to_rgba: Invalid rgba arg "1.0"
to_rgb: Invalid rgb arg "1.0"
cannot convert argument to rgb sequence
В this answer объясняется, как сделать это с помощью plt.cm.RdYlBu(i)
. Есть ли эквивалент для оттенков серого?
Вы просто хотите создать цветовой пакет от белого до черного? – Bitwise
Несомненно, просто 'plt.cm.gray' (или' plt.cm.gray_r', если вы хотите, чтобы он шел другим способом. См. Здесь: http://matplotlib.org/examples/pylab_examples/show_colormaps.html –
Кроме того, ошибка заключается в том, что matplotlib использует _strings_ of floats для указания оттенков серого вместо фактических поплавков. Таким образом, вы переходите в '' 0,5' 'вместо '0.5'. (Это один из наиболее запутанных углов вещей. Я не буду вдаваться здесь, но это обычная проблема. Нет никаких технических причин, почему она не может просто принять одно плавающее - это просто историческое.) –