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

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

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

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

3 Solutions collect form web for “Как преобразовать значения данных в информацию о цвете для matplotlib?”

В цветовой системе 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-/

  • поместить двух гауссиан в гистограмму из одного набора данных, python
  • Функция Python эквивалентна функции `pretty ()`?
  • Минимизация функции python с массивом numpy в качестве аргумента
  • dgemm segfaulting с большими матрицами F-порядка в scipy
  • MemoryError в toarray при использовании DictVectorizer Scikit Learn
  • Как читать в списке краев, чтобы сделать скудную разреженную матрицу
  • Как получить логнормальное распределение в Python с помощью Mu и Sigma?
  • Получение ошибки "не может передавать входной массив из формы (252,4) в форму (4)" в оптимизации
  • Python - лучший язык программирования в мире.