Как преобразовать значения данных в информацию о цвете для matplotlib?

Я использую класс matplotlib.patches.Polygon для рисования полигонов на карте. Фактически, дана информация о координатах углов полигонов и значения данных с плавающей запятой для каждого «многоугольника». Теперь я хотел бы преобразовать эти значения данных (от 0 до 3e15) в информацию о цвете, чтобы визуализировать ее хорошо. Какова наилучшая практика для этого в Python?

Фрагмент моего кода:

poly = Polygon( xy, facecolor=data, edgecolor='none') plt.gca().add_patch(poly) 

    В цветовой системе RGB для каждого цвета, красного, зеленого и синего используются два бита данных. Это означает, что каждый цвет работает по шкале от 0 до 255. Черный будет 00,00,00, а белый – 255 255 255. Matplotlib имеет множество предопределенных цветовых палитр для вас. Все они нормализованы до 255, поэтому они работают от 0 до 1. Таким образом, вам нужно только нормализовать свои данные, тогда вы можете вручную выбрать цвета с цветовой карты следующим образом:

     >>> import matplotlib.pyplot as plt >>> Blues = plt.get_cmap('Blues') >>> print Blues(0) (0.9686274528503418, 0.9843137264251709, 1.0, 1.0) >>> print Blues(0.5) (0.41708574119736169, 0.68063054575639614, 0.83823145908467911, 1.0) >>> print Blues(1.0) (0.96555171293370867, 0.9823452528785257, 0.9990157632266774, 1.0) 

    Вот все предопределенные цветовые карты. Если вы заинтересованы в создании собственных цветных карт, вот хороший пример. Также здесь есть статья от IBM о том, как правильно выбирать цвета, что вам следует учитывать, если вы используете цвет для визуализации данных.

    Чтобы преобразовать значение от значения от 0 до + бесконечности до значения, которое идет от 0.0 до 1.0

     import matplotlib.pyplot as plt price_change = price_change ** 2 / (1 + price_change ** 2) Blues = plt.get_cmap('Blues') print Blues(price_change) 

    Полный список цветовых папок приведен здесь: http://matplotlib.org/users/colormaps.html

    Я думаю, что вы ищете ColorMap. См. Следующий пост для получения информации об использовании тех, которые предоставляются matplotlib.

    Использование Colormaps для установки цвета линии в matplotlib

    Если вы хотите сделать свой собственный, страница, приведенная ниже, является хорошим примером.

    http://code.activestate.com/recipes/52273-colormap-returns-an-rgb-tuple-on-a-0-to-255-scale-/