цвета
Для визуального представления цветовых схем matplotlib см. раздел «Цвета» в галерее.
matplotlib.colors
Модуль для преобразования чисел или аргументов цвета в RGB или RGBA
RGB и RGBA — это последовательности соответственно из 3 или 4 чисел с плавающей точкой в диапазоне от 0 до 1.
Этот модуль включает функции и классы для преобразований спецификаций цвета и для сопоставления чисел с цветами в одномерном массиве цветов, называемом цветовой картой. Сопоставление цветов обычно включает два шага: массив данных сначала отображается на диапазон от 0 до 1 с помощью экземпляра Normalize или его подкласса; затем это число в диапазоне от 0 до 1 отображается в цвет с помощью экземпляра подкласса Colormap. Здесь предоставляются два: LinearSegmentedColormap, который используется для создания всех встроенных цветовых карт, но также полезен для создания пользовательских цветовых карт, и ListedColormap, который используется для создания пользовательской цветовой карты из списка спецификаций цвета.
Модуль также предоставляет один экземпляр, colorConverter, класса ColorConverter, предоставляющего методы для преобразования отдельных спецификаций цвета или последовательностей цветов в RGB или RGBA.
Команды, принимающие аргументы цвета, могут использовать несколько форматов для задания цветов. Для основных встроенных цветов можно использовать одиночную букву
- b: синий
- g: зеленый
- r: красный
- c: голубой
- m: пурпурный
- y: жёлтый
- k: чёрный
- w: белый
Оттенки серого могут быть заданы как строка, кодирующая число с плавающей точкой в диапазоне от 0 до 1, например:
color = '0.75'
Для более широкого диапазона цветов у вас есть два варианта. Вы можете указать цвет, используя шестнадцатеричную строку HTML, как в:
color = '#eeefff'
или вы можете передать кортеж R , G , B , где каждое из R , G , B находится в диапазоне [0,1].
Наконец, поддерживаются допустимые имена цветов HTML, такие как «красный», «коричневый» и «салатовый».
-
class matplotlib.colors.BoundaryNorm(boundaries, ncolors, clip=False) -
Наследуется от
matplotlib.colors.NormalizeГенерирует индекс цветовой карты на основе дискретных интервалов.
В отличие от
NormalizeилиLogNorm,BoundaryNormотображает значения на целые числа вместо интервала от 0 до 1.Отображение на интервал от 0 до 1 могло быть выполнено с помощью кусочно-линейной интерполяции, но использование целых чисел кажется проще и уменьшает количество преобразований между целыми и числами с плавающей точкой.
- boundaries
- монотонно возрастающая последовательность
- ncolors
- количество цветов в цветовой карте для использования
Если:
b[i] <= v < b[i+1]
тогда v сопоставляется с цветом j; при изменении i от 0 до len(boundaries)-2, j изменяется от 0 до ncolors-1.
Значения вне диапазона отображаются на -1, если низкий, и ncolors, если высокий; они преобразуются в допустимые индексы с помощью
Colormap.__call__(). Если clip == True, значения вне диапазона отображаются на 0, если низкий, и ncolors-1, если высокий.-
inverse(value)
-
class matplotlib.colors.ColorConverter -
Наследуется от
objectПредоставляет методы для преобразования спецификаций цвета в RGB или RGBA
Для повышения эффективности преобразования при многократном вызове с тем же аргументом используется кэширование.
Обычно требуется только один экземпляр, созданный в этом модуле, colorConverter.
-
cache = {'#FFC400': (1.0, 0.7686274509803922, 0.0), '.8': (0.8, 0.8, 0.8), '#30a2da': (0.18823529411764706, 0.6352941176470588, 0.8549019607843137), '#6d904f': (0.42745098039215684, 0.5647058823529412, 0.30980392156862746), '0.75': (0.75, 0.75, 0.75), 'g': (0.0, 0.5, 0.0), '#C44E52': (0.7686274509803922, 0.3058823529411765, 0.3215686274509804), '#D0BBFF': (0.8156862745098039, 0.7333333333333333, 1.0), '#E8000B': (0.9098039215686274, 0.0, 0.043137254901960784), '#e5ae38': (0.8980392156862745, 0.6823529411764706, 0.2196078431372549), 'green': (0.0, 0.5019607843137255, 0.0), 'b': (0.0, 0.0, 1.0), '#001C7F': (0.0, 0.10980392156862745, 0.4980392156862745), 'blue': (0.0, 0.0, 1.0), '#bcbcbc': (0.7372549019607844, 0.7372549019607844, 0.7372549019607844), '#D55E00': (0.8352941176470589, 0.3686274509803922, 0.0), '.15': (0.15, 0.15, 0.15), '0.60': (0.6, 0.6, 0.6), 'k': (0.0, 0.0, 0.0), '#8dd3c7': (0.5529411764705883, 0.8274509803921568, 0.7803921568627451), '#97F0AA': (0.592156862745098, 0.9411764705882353, 0.6666666666666666), '#FFB5B8': (1.0, 0.7098039215686275, 0.7215686274509804), '#8EBA42': (0.5568627450980392, 0.7294117647058823, 0.25882352941176473), '#81b1d2': (0.5058823529411764, 0.6941176470588235, 0.8235294117647058), '0.00': (0.0, 0.0, 0.0), '#cbcbcb': (0.796078431372549, 0.796078431372549, 0.796078431372549), '#348ABD': (0.20392156862745098, 0.5411764705882353, 0.7411764705882353), 'yellow': (1.0, 1.0, 0.0), 'm': (0.75, 0, 0.75), '0.70': (0.7, 0.7, 0.7), '#ccebc4': (0.8, 0.9215686274509803, 0.7686274509803922), '#ffed6f': (1.0, 0.9294117647058824, 0.43529411764705883), 'r': (1.0, 0.0, 0.0), '#bfbbd9': (0.7490196078431373, 0.7333333333333333, 0.8509803921568627), '0.50': (0.5, 0.5, 0.5), '#8C0900': (0.5490196078431373, 0.03529411764705882, 0.0), '#0072B2': (0.0, 0.4470588235294118, 0.6980392156862745), '#467821': (0.27450980392156865, 0.47058823529411764, 0.12941176470588237), 'black': (0.0, 0.0, 0.0), '#B0E0E6': (0.6901960784313725, 0.8784313725490196, 0.9019607843137255), '#eeeeee': (0.9333333333333333, 0.9333333333333333, 0.9333333333333333), '#7600A1': (0.4627450980392157, 0.0, 0.6313725490196078), '#8b8b8b': (0.5450980392156862, 0.5450980392156862, 0.5450980392156862), '#006374': (0.0, 0.38823529411764707, 0.4549019607843137), '#f0f0f0': (0.9411764705882353, 0.9411764705882353, 0.9411764705882353), '#fa8174': (0.9803921568627451, 0.5058823529411764, 0.4549019607843137), '#8172B2': (0.5058823529411764, 0.4470588235294118, 0.6980392156862745), '#8A2BE2': (0.5411764705882353, 0.16862745098039217, 0.8862745098039215), 'y': (0.75, 0.75, 0), '#00D7FF': (0.0, 0.8431372549019608, 1.0), 'red': (1.0, 0.0, 0.0), '0.40': (0.4, 0.4, 0.4), '#777777': (0.4666666666666667, 0.4666666666666667, 0.4666666666666667), '#D65F5F': (0.8392156862745098, 0.37254901960784315, 0.37254901960784315), '#afeeee': (0.6862745098039216, 0.9333333333333333, 0.9333333333333333), 'purple': (0.5019607843137255, 0.0, 0.5019607843137255), '#009E73': (0.0, 0.6196078431372549, 0.45098039215686275), '#fdb462': (0.9921568627450981, 0.7058823529411765, 0.3843137254901961), '#B47CC7': (0.7058823529411765, 0.48627450980392156, 0.7803921568627451), '#017517': (0.00392156862745098, 0.4588235294117647, 0.09019607843137255), '#CCB974': (0.8, 0.7254901960784313, 0.4549019607843137), '#56B4E9': (0.33725490196078434, 0.7058823529411765, 0.9137254901960784), '#988ED5': (0.596078431372549, 0.5568627450980392, 0.8352941176470589), '#003FFF': (0.0, 0.24705882352941178, 1.0), '#F0E442': (0.9411764705882353, 0.8941176470588236, 0.25882352941176473), '#EAEAF2': (0.9176470588235294, 0.9176470588235294, 0.9490196078431372), '#bc82bd': (0.7372549019607844, 0.5098039215686274, 0.7411764705882353), '#55A868': (0.3333333333333333, 0.6588235294117647, 0.40784313725490196), '#555555': (0.3333333333333333, 0.3333333333333333, 0.3333333333333333), '#fc4f30': (0.9882352941176471, 0.30980392156862746, 0.18823529411764706), '#92C6FF': (0.5725490196078431, 0.7764705882352941, 1.0), '#00FFCC': (0.0, 1.0, 0.8), 'darkgoldenrod': (0.7215686274509804, 0.5254901960784314, 0.043137254901960784), '#E24A33': (0.8862745098039215, 0.2901960784313726, 0.2), '#A60628': (0.6509803921568628, 0.023529411764705882, 0.1568627450980392), '#FBC15E': (0.984313725490196, 0.7568627450980392, 0.3686274509803922), '#b3de69': (0.7019607843137254, 0.8705882352941177, 0.4117647058823529), '#B8860B': (0.7215686274509804, 0.5254901960784314, 0.043137254901960784), '#6ACC65': (0.41568627450980394, 0.8, 0.396078431372549), '#7A68A6': (0.47843137254901963, 0.40784313725490196, 0.6509803921568628), '#4C72B0': (0.2980392156862745, 0.4470588235294118, 0.6901960784313725), 'c': (0.0, 0.75, 0.75), '#03ED3A': (0.011764705882352941, 0.9294117647058824, 0.22745098039215686), '0.5': (0.5, 0.5, 0.5), 'firebrick': (0.6980392156862745, 0.13333333333333333, 0.13333333333333333), '#EEEEEE': (0.9333333333333333, 0.9333333333333333, 0.9333333333333333), '#E5E5E5': (0.8980392156862745, 0.8980392156862745, 0.8980392156862745), 'white': (1.0, 1.0, 1.0), '#feffb3': (0.996078431372549, 1.0, 0.7019607843137254), '#4878CF': (0.2823529411764706, 0.47058823529411764, 0.8117647058823529), '#64B5CD': (0.39215686274509803, 0.7098039215686275, 0.803921568627451), '#CC79A7': (0.8, 0.4745098039215686, 0.6549019607843137), 'magenta': (1.0, 0.0, 1.0), '#FFFEA3': (1.0, 0.996078431372549, 0.6392156862745098), '#C4AD66': (0.7686274509803922, 0.6784313725490196, 0.4), 'gray': (0.5019607843137255, 0.5019607843137255, 0.5019607843137255), 'w': (1.0, 1.0, 1.0), 'cyan': (0.0, 1.0, 1.0), '#FF9F9A': (1.0, 0.6235294117647059, 0.6039215686274509), '#77BEDB': (0.4666666666666667, 0.7450980392156863, 0.8588235294117647)}
-
colors = {'r': (1.0, 0.0, 0.0), 'w': (1.0, 1.0, 1.0), 'k': (0.0, 0.0, 0.0), 'm': (0.75, 0, 0.75), 'c': (0.0, 0.75, 0.75), 'g': (0.0, 0.5, 0.0), 'y': (0.75, 0.75, 0), 'b': (0.0, 0.0, 1.0)}
-
to_rgb(arg) -
Возвращает кортеж RGB из трёх чисел с плавающей точкой от 0 до 1.
arg может быть последовательностью RGB или RGBA или строкой в нескольких форматах:
- буква из набора ‘rgbcmykw’
- шестнадцатеричная строка цвета, например, ‘#00FFFF’
- стандартное имя, например, ‘aqua’
- строковое представление числа с плавающей точкой, например, ‘0.4’, указывающее серый цвет в масштабе от 0 до 1
если arg — это RGBA, то A просто отбрасывается.
-
to_rgba(arg, alpha=None) -
Возвращает кортеж RGBA из четырёх чисел с плавающей точкой от 0 до 1.
Для допустимых значений arg см.
to_rgb(). Кроме того, если arg — «none» (регистронезависимо), то будет возвращено (0,0,0,0). Если arg — последовательность RGBA и alpha не равно None, то alpha заменит исходное A.
-
to_rgba_array(c, alpha=None) -
Возвращает массив numpy кортежей RGBA.
Принимает одну спецификацию цвета mpl или последовательность спецификаций.
Специальный случай для обработки «отсутствия цвета»: если c — «none» (регистронезависимо), то будет возвращён пустой массив. То же самое для пустого списка.
-
-
class matplotlib.colors.Colormap(name, N=256) -
Наследуется от
objectБазовый класс для всех скалярно-RGBA отображений.
Обычно экземпляры Colormap используются для преобразования значений данных (чисел с плавающей точкой) из интервала
[0, 1]в цвет RGBA, который представляет соответствующая цветовая карта. Для масштабирования данных в интервал[0, 1]см.matplotlib.colors.Normalize. Стоит отметить, что подклассыmatplotlib.cm.ScalarMappableактивно используют эту цепочку обработкиdata->normalize->map-to-color.Параметры: name : str
Имя цветовой карты.
N : int
Количество уровней квантования rgb.
-
colorbar_extend = None -
Когда эта цветовая карта существует на отображаемом скаляре и colorbar_extend не равно False, создание colorbar выберет
colorbar_extendв качестве значения по умолчанию для параметраextendв конструктореmatplotlib.colorbar.Colorbar.
-
is_gray()
-
set_bad(color='k', alpha=None) -
Установить цвет для использования для значений маски.
-
set_over(color='k', alpha=None) -
Установить цвет для использования для высоких значений вне диапазона. Требуется norm.clip = False
-
set_under(color='k', alpha=None) -
Установить цвет для использования для низких значений вне диапазона. Требуется norm.clip = False
-
-
class matplotlib.colors.LightSource(azdeg=315, altdeg=45, hsv_min_val=0, hsv_max_val=1, hsv_min_sat=1, hsv_max_sat=0) -
Базы:
objectСоздаёт источник света, исходящий из указанного азимута и углов возвышения. Углы задаются в градусах, а азимут измеряется по часовой стрелке от севера, а возвышение — вверх от нулевой плоскости поверхности.
Функция
shade()используется для получения «затенённых» значений rgb для массива данных.shade_rgb()может быть использована для комбинирования изображения rgb сshade_rgb(). Функцияhillshade()генерирует карту освещённости поверхности.Укажите азимут (измеряемый по часовой стрелке от юга) и высоту (измеряемую вверх от плоскости поверхности) источника света в градусах.
Параметры: azdeg : число, необязательно
Азимут источника света (0-360, градусы по часовой стрелке от севера). По умолчанию 315 градусов (с северо-запада).
altdeg : число, необязательно
Высота источника света (0-90, градусы вверх от горизонта). По умолчанию 45 градусов от горизонта.
Примечания
Для обратной совместимости параметры hsv_min_val, hsv_max_val, hsv_min_sat и hsv_max_sat могут быть переданы при инициализации. Однако эти параметры будут использованы только в случае, если «blend_mode=’hsv’” передано в
shade()илиshade_rgb(). Дополнительные сведения см. в документации кblend_hsv().-
blend_hsv(rgb, intensity, hsv_max_sat=None, hsv_max_val=None, hsv_min_val=None, hsv_min_sat=None) -
Принимает массив входных данных, преобразует его в значения HSV в заданной цветовой карте, а затем корректирует эти цветовые значения, чтобы создать впечатление карты рельефа с затенением, с указанным источником света. Возвращаются значения RGBA, которые затем могут быть использованы для построения затенённого изображения с помощью imshow.
Цвет полученного изображения будет затемнён, перемещая значения (s,v) (в цветовом пространстве HSV) к (hsv_min_sat, hsv_min_val) в затенённых областях или осветлён, перемещая (s,v) к (hsv_max_sat, hsv_max_val) в освещённых областях. По умолчанию крайние значения выбраны таким образом, чтобы полностью затенённые точки были почти чёрными (s = 1, v = 0), а полностью освещённые точки — почти белыми (s = 0, v = 1).
Параметры: rgb : массив ndarray
MxNx3 массив RGB значений с плавающей точкой от 0 до 1 (цветное изображение).
intensity : массив ndarray
MxNx1 массив значений с плавающей точкой от 0 до 1 (оттенки серого).
hsv_max_sat : число, необязательно
Максимальное значение насыщенности, до которого карта интенсивности может сдвинуть выходное изображение. По умолчанию 1.
hsv_min_sat : число, необязательно
Минимальное значение насыщенности, до которого карта интенсивности может сдвинуть выходное изображение. По умолчанию 0.
hsv_max_val : число, необязательно
Максимальное значение «v» (в «hsv»), до которого карта интенсивности может сдвинуть выходное изображение. По умолчанию 1.
hsv_min_val: число, необязательно
Минимальное значение «v» (в «hsv»), до которого карта интенсивности может сдвинуть выходное изображение. По умолчанию 0.
Возвращает: rgb : массив ndarray
MxNx3 массив RGB, представляющий объединённые изображения.
-
blend_overlay(rgb, intensity) -
Объединяет изображение rgb с картой интенсивности с использованием метода «overlay» смешивания.
Параметры: rgb : массив ndarray
MxNx3 массив RGB значений с плавающей точкой от 0 до 1 (цветное изображение).
intensity : массив ndarray
MxNx1 массив значений с плавающей точкой от 0 до 1 (оттенки серого).
Возвращает: rgb : массив ndarray
MxNx3 массив RGB, представляющий объединённые изображения.
-
blend_soft_light(rgb, intensity) -
Объединяет изображение rgb с картой интенсивности с использованием метода «soft light» смешивания. Использует формулу «pegtop».
Параметры: rgb : массив ndarray
MxNx3 массив RGB значений с плавающей точкой от 0 до 1 (цветное изображение).
intensity : массив ndarray
MxNx1 массив значений с плавающей точкой от 0 до 1 (оттенки серого).
Возвращает: rgb : массив ndarray
MxNx3 массив RGB, представляющий объединённые изображения.
-
hillshade(elevation, vert_exag=1, dx=1, dy=1, fraction=1.0) -
Вычисляет интенсивность освещения поверхности, используя заданный азимут и высоту источника света.
Представьте себе искусственное солнце, расположенное в бесконечности под некоторым азимутом и углом возвышения, освещающее нашу поверхность. Части поверхности, наклоненные к солнцу, должны осветляться, а те стороны, которые обращены от него, должны становиться темнее.
Параметры: elevation : массив-подобный объект
2D массив (или эквивалент) значений высоты, используемых для генерации карты освещённости
vert_exag : число, необязательно
Величина, на которую нужно увеличить значения высоты при вычислении освещения. Это может быть использовано для коррекции различий в единицах между x-y системой координат и системой координат высоты (например, десятичные градусы против метров) или для увеличения или уменьшения выраженности топографических эффектов.
dx : число, необязательно
Интервал x (столбцы) входной сетки elevation.
dy : число, необязательно
Интервал y (строки) входной сетки elevation.
fraction : число, необязательно
Увеличивает или уменьшает контраст карты освещённости. Значения, большие единицы, приведут к тому, что промежуточные значения приблизятся к полному освещению или тени (и обрезанию любых значений, которые выйдут за пределы 0 или 1). Обратите внимание, что это не визуально и не математически эквивалентно вертикальному преувеличению.
Возвращает
——-
intensity : массив ndarray
2D массив значений освещённости в диапазоне от 0 до 1, где 0 — полная тень, а 1 — полное освещение.
-
-
shade(data, cmap, norm=None, blend_mode='hsv', vmin=None, vmax=None, vert_exag=1, dx=1, dy=1, fraction=1, **kwargs) -
Комбинирует значения данных, сопоставленные с цветовой картой, с картой интенсивности освещения (также известной как «hillshade») значений.
Параметры: data : массив-подобный объект
Двумерный массив (или эквивалент) значений высоты, используемых для создания затенённой карты.
cmap :
ColormapэкземплярЦветовая карта, используемая для раскраски массива data. Обратите внимание, что это должен быть экземпляр
Colormap. Например, вместо передачиcmap='gist_earth', используйтеcmap=plt.get_cmap('gist_earth').norm :
Normalizeэкземпляр, необязательноНормализация, используемая для масштабирования значений перед сопоставлением с цветовой картой. Если None, входные данные будут линейно масштабированы между их минимальным и максимальным значениями.
blend_mode : {‘hsv’, ‘overlay’, ‘soft’} или вызываемый объект, необязательно
Тип смешивания, используемого для объединения значений данных, сопоставленных с цветовой картой, с интенсивностью освещения. Для обратной совместимости по умолчанию используется «hsv». Обратите внимание, что для большинства топографических поверхностей «overlay» или «soft» кажутся более визуально реалистичными. Если предоставлена пользовательская функция, ожидается, что она объединит массив MxNx3 RGB значений с плавающей точкой (в диапазоне от 0 до 1) с массивом MxNx1 hillshade (также от 0 до 1). (Подпись вызова функции
func(rgb, illum, **kwargs)) Дополнительные аргументы kwargs, переданные в эту функцию, будут переданы функции blend_mode.vmin : скаляр или None, необязательно
Минимальное значение, используемое в сопоставлении data с цветовой картой. Если None, используется минимальное значение в data. Если задан norm, этот аргумент будет проигнорирован.
vmax : скаляр или None, необязательно
Максимальное значение, используемое в сопоставлении data с цветовой картой. Если None, используется максимальное значение в data. Если задан norm, этот аргумент будет проигнорирован.
vert_exag : число, необязательно
Величина увеличения значений высоты при вычислении освещения. Это может быть использовано для коррекции различий в единицах между x-y координатной системой и системой координат высоты (например, десятичные градусы против метров) или для увеличения или уменьшения выраженности топографии.
dx : число, необязательно
Шаг по оси x (столбцы) входной сетки elevation.
dy : число, необязательно
Шаг по оси y (строки) входной сетки elevation.
fraction : число, необязательно
Увеличивает или уменьшает контраст затенения. Значения, большие единицы, приведут к тому, что промежуточные значения будут приближаться к полному освещению или тени (и обрезанию любых значений, которые выйдут за пределы 0 или 1). Обратите внимание, что это не визуально и не математически эквивалентно вертикальному преувеличению.
Дополнительные kwargs передаются функции *blend_mode*.
Возвращает: rgba : ndarray
Массив MxNx4 с плавающей точкой в диапазоне от 0 до 1.
-
shade_rgb(rgb, elevation, fraction=1.0, blend_mode='hsv', vert_exag=1, dx=1, dy=1, **kwargs) -
Принимает входной массив RGB (ny*nx*3), корректирует их цветовые значения, чтобы создать впечатление карты затенения рельефа с заданным источником света, используя высоту (ny*nx). Возвращается новый массив RGB ((ny*nx*3)).
Параметры: rgb : массив-подобный объект
Массив MxNx3 RGB, предполагается, что он находится в диапазоне от 0 до 1.
elevation : массив-подобный объект
Двумерный массив (или эквивалент) значений высоты, используемых для создания затенённой карты.
fraction : число
Увеличивает или уменьшает контраст затенения. Значения, большие единицы, приведут к тому, что промежуточные значения будут приближаться к полному освещению или тени (и обрезанию любых значений, которые выйдут за пределы 0 или 1). Обратите внимание, что это не визуально и не математически эквивалентно вертикальному преувеличению.
blend_mode : {‘hsv’, ‘overlay’, ‘soft’} или вызываемый объект, необязательно
Тип смешивания, используемого для объединения значений данных, сопоставленных с цветовой картой, с интенсивностью освещения. Для обратной совместимости по умолчанию используется «hsv». Обратите внимание, что для большинства топографических поверхностей «overlay» или «soft» кажутся более визуально реалистичными. Если предоставлена пользовательская функция, ожидается, что она объединит массив MxNx3 RGB значений с плавающей точкой (в диапазоне от 0 до 1) с массивом MxNx1 hillshade (также от 0 до 1). (Подпись вызова функции
func(rgb, illum, **kwargs)) Дополнительные аргументы kwargs, переданные в эту функцию, будут переданы функции blend_mode.vert_exag : число, необязательно
Величина увеличения значений высоты при вычислении освещения. Это может быть использовано для коррекции различий в единицах между x-y координатной системой и системой координат высоты (например, десятичные градусы против метров) или для увеличения или уменьшения выраженности топографии.
dx : число, необязательно
Шаг по оси x (столбцы) входной сетки elevation.
dy : число, необязательно
Шаг по оси y (строки) входной сетки elevation.
Дополнительные kwargs передаются функции *blend_mode*.
Возвращает: shaded_rgb : ndarray
Массив MxNx3 с плавающей точкой в диапазоне от 0 до 1.
-
-
class matplotlib.colors.LinearSegmentedColormap(name, segmentdata, N=256, gamma=1.0) -
Основывается на
matplotlib.colors.ColormapЦветовые карты, основанные на таблицах поиска с линейными сегментами.
Таблица поиска генерируется с использованием линейной интерполяции для каждого основного цвета, при этом область 0-1 разделена на любое количество сегментов.
Создание цветовой карты из линейных сегментов
Аргумент segmentdata — это словарь с записями red, green и blue. Каждая запись должна быть списком кортежей x, y0, y1, формирующих строки в таблице. Записи для alpha необязательны.
Пример: предположим, что вы хотите, чтобы красный цвет увеличивался от 0 до 1 в нижней половине, зелёный — в средней половине, а синий — в верхней половине. Тогда вы бы использовали:
cdict = {'red': [(0.0, 0.0, 0.0), (0.5, 1.0, 1.0), (1.0, 1.0, 1.0)], 'green': [(0.0, 0.0, 0.0), (0.25, 0.0, 0.0), (0.75, 1.0, 1.0), (1.0, 1.0, 1.0)], 'blue': [(0.0, 0.0, 0.0), (0.5, 0.0, 0.0), (1.0, 1.0, 1.0)]}Каждая строка в таблице для данного цвета — это последовательность кортежей x, y0, y1. В каждой последовательности x должен монотонно возрастать от 0 до 1. Для любого входного значения z, попадающего между x[i] и x[i+1], выходное значение данного цвета будет линейно интерполироваться между y1[i] и y0[i+1]:
row i: x y0 y1 / / row i+1: x y0 y1Следовательно, y0 в первой строке и y1 в последней строке никогда не используются.
См. также
LinearSegmentedColormap.from_list()Статический метод; фабричная функция для создания плавно изменяющейся LinearSegmentedColormap.makeMappingArray()Сведения о создании массива сопоставлений.-
static from_list(name, colors, N=256, gamma=1.0) -
Создаёт линейную сегментированную цветовую карту с именем name из последовательности colors, которая плавно переходит от colors[0] при val=0 к colors[-1] при val=1. N — число уровней квантования rgb. В качестве альтернативы, можно указать список кортежей (значение, цвет), чтобы разделить диапазон неравномерно.
-
set_gamma(gamma) -
Устанавливает новое значение гамма и перегенерирует цветовую карту.
-
-
class matplotlib.colors.ListedColormap(colors, name='from_list', N=None) -
Основывается на
matplotlib.colors.ColormapЦветовая карта, сгенерированная из списка цветов.
Это может быть наиболее полезно при непосредственном индексировании в цветовую карту, но также может быть использовано для генерации специальных цветовых карт для обычного сопоставления.
Создание цветовой карты из списка цветов.
- colors
- список спецификаций цвета matplotlib или эквивалентный массив Nx3 или Nx4 с плавающей точкой (N значений rgb или rgba)
- name
- строка для идентификации цветовой карты
- N
-
число элементов в карте. По умолчанию равно None, в этом случае для каждого элемента в списке цветов существует один элемент цветовой карты. Если:
N < len(colors)
список будет усечён до N. Если:
N > len(colors)
список будет расширен повторением.
-
class matplotlib.colors.LogNorm(vmin=None, vmax=None, clip=False) -
Основывается на
matplotlib.colors.NormalizeНормализация заданного значения в диапазоне 0-1 в логарифмической шкале
Если vmin или vmax не заданы, они инициализируются соответственно минимальным и максимальным значением первого обработанного входного значения. То есть, __call__(A) вызывает autoscale_None(A). Если clip равно True и заданное значение выходит за пределы диапазона, возвращаемое значение будет 0 или 1, в зависимости от того, какое из них ближе. Возвращает 0, если:
vmin==vmax
Работает со скалярами или массивами, включая маскированные массивы. Если clip равно True, маскированные значения устанавливаются в 1; в противном случае они остаются маскированными. Обрезка молчаливо нарушает цель установки цветов over, under и masked в цветовой карте, поэтому, вероятно, приведёт к неожиданным результатам; поэтому по умолчанию clip = False.
-
autoscale(A) -
Установить vmin, vmax в min, max от A.
-
autoscale_None(A) -
autoscale только None-valued vmin или vmax
-
inverse(value)
-
-
class matplotlib.colors.NoNorm(vmin=None, vmax=None, clip=False) -
Базы:
matplotlib.colors.NormalizeЗаглушка для Normalize в случае, когда мы хотим использовать индексы непосредственно в
ScalarMappable.Если vmin или vmax не заданы, они инициализируются соответственно минимальным и максимальным значением первого обработанного входного значения. То есть, __call__(A) вызывает autoscale_None(A). Если clip равно True и заданное значение выходит за пределы диапазона, возвращаемое значение будет 0 или 1, что ближе. Возвращает 0, если:
vmin==vmax
Работает со скалярами или массивами, включая маскированные массивы. Если clip равно True, маскированные значения устанавливаются в 1; в противном случае они остаются маскированными. Обрезка молчаливо сводит на нет цель установки цветов over, under и masked в цветовой карте, поэтому это может привести к неожиданностям; поэтому по умолчанию clip = False.
-
inverse(value)
-
-
class matplotlib.colors.Normalize(vmin=None, vmax=None, clip=False) -
Базы:
objectКласс, который при вызове может нормализовать данные в интервал
[0.0, 1.0].Если vmin или vmax не заданы, они инициализируются соответственно минимальным и максимальным значением первого обработанного входного значения. То есть, __call__(A) вызывает autoscale_None(A). Если clip равно True и заданное значение выходит за пределы диапазона, возвращаемое значение будет 0 или 1, что ближе. Возвращает 0, если:
vmin==vmax
Работает со скалярами или массивами, включая маскированные массивы. Если clip равно True, маскированные значения устанавливаются в 1; в противном случае они остаются маскированными. Обрезка молчаливо сводит на нет цель установки цветов over, under и masked в цветовой карте, поэтому это может привести к неожиданностям; поэтому по умолчанию clip = False.
-
autoscale(A) -
Установить vmin, vmax на min, max от A.
-
autoscale_None(A) -
autoscale только для vmin или vmax со значением None
-
inverse(value)
-
static process_value(value) -
Гомогенизировать входное значение value для удобной и эффективной нормализации.
value может быть скаляром или последовательностью.
Возвращает result, is_scalar, где result — это маскированный массив, соответствующий value. Типы данных с плавающей точкой сохраняются; целочисленные типы с двумя байтами или меньше преобразуются в np.float32, а более крупные типы преобразуются в np.float. Сохранение float32, когда это возможно, и использование операций на месте может значительно повысить скорость для больших массивов.
Экспериментально; мы можем добавить возможность принудительного использования float32.
-
scaled() -
Возвращает True, если vmin и vmax установлены
-
-
class matplotlib.colors.PowerNorm(gamma, vmin=None, vmax=None, clip=False) -
Базы:
matplotlib.colors.NormalizeНормализует заданное значение до интервала
[0, 1]с помощью масштабирования по степенному закону. Это обрезает все отрицательные значения данных до 0.-
autoscale(A) -
Установить vmin, vmax на min, max от A.
-
autoscale_None(A) -
autoscale только для vmin или vmax со значением None
-
inverse(value)
-
-
class matplotlib.colors.SymLogNorm(linthresh, linscale=1.0, vmin=None, vmax=None, clip=False) -
Базы:
matplotlib.colors.NormalizeСимметричный логарифмический масштаб является логарифмическим как в положительном, так и в отрицательном направлениях от начала координат.
Поскольку значения, близкие к нулю, стремятся к бесконечности, необходимо иметь диапазон около нуля, который является линейным. Параметр linthresh позволяет пользователю указать размер этого диапазона (-linthresh, linthresh).
linthresh: Диапазон, в пределах которого график линейный (чтобы избежать выхода графика на бесконечность около нуля).
linscale: Это позволяет растянуть линейный диапазон (-linthresh до linthresh) относительно логарифмического диапазона. Его значение — количество десятичных разрядов, используемых для каждой половины линейного диапазона. Например, при linscale == 1.0 (по умолчанию) пространство, используемое для положительной и отрицательной половин линейного диапазона, будет равно одному десятичному разряду в логарифмическом диапазоне. По умолчанию равно 1.
-
autoscale(A) -
Установить vmin, vmax на min, max от A.
-
autoscale_None(A) -
autoscale только для vmin или vmax со значением None
-
inverse(value)
-
-
matplotlib.colors.from_levels_and_colors(levels, colors, extend='neither') -
Вспомогательная процедура для создания cmap и экземпляра norm, которые ведут себя аналогично аргументам уровней и цветов contourf.
Параметры: levels : последовательность чисел
Уровни квантования, используемые для построения
BoundaryNorm. Значенияvквантуются до уровняiеслиlev[i] <= v < lev[i+1].colors : последовательность цветов
Цвет заливки, используемый для каждого уровня. Если
extendравно “neither”, должно бытьn_level - 1цветов. Дляextend"min" или "max" добавьте один дополнительный цвет, а дляextend"both" — два.extend : {‘neither’, ‘min’, ‘max’, ‘both’}, необязательно
Поведение, когда значение выходит за пределы заданных уровней. См.
contourf()для получения подробностей.Возвращает: (cmap, norm) : кортеж, содержащий
Colormapи экземплярNormalize
-
matplotlib.colors.hex2color(s) -
Принимает строку в формате hex s и возвращает соответствующий rgb кортеж 3-х элементов. Пример: #efefef -> (0.93725, 0.93725, 0.93725)
-
matplotlib.colors.hsv_to_rgb(hsv) -
преобразует значения hsv в массиве numpy в значения rgb. Все значения предполагаются в диапазоне [0, 1]
Параметры: hsv : (..., 3) массив
Все значения предполагаются в диапазоне [0, 1]
Возвращает: rgb : (..., 3) ndarray
Цвета, преобразованные в значения RGB в диапазоне [0, 1]
-
matplotlib.colors.is_color_like(c) -
Возвращает True, если c можно преобразовать в RGB
-
matplotlib.colors.makeMappingArray(N, data, gamma=1.0) -
Создать одномерную таблицу поиска на N элементов
data представлена списком соответствий отображения x, y0, y1. Каждый элемент этого списка представляет собой отображение значения между 0 и 1 (включительно), представленного x, на соответствующее значение между 0 и 1 (включительно). Два значения y предназначены для разрешения функций отображения с разрывами (например, как в пилообразной форме), где y0 представляет значение y для значений x ≤ заданному, а y1 — значение для x > заданному. Список должен начинаться с x = 0, заканчиваться x = 1 и все значения x должны быть в возрастающем порядке. Значения между заданными точками отображения определяются с помощью простой линейной интерполяции.
В качестве альтернативы, данные могут быть функцией, отображающей значения между 0 - 1 на 0 - 1.
Функция возвращает массив “result”, где
result[x*(N-1)]дает ближайшее значение для значений x между 0 и 1.
-
matplotlib.colors.rgb2hex(rgb) -
Если задана последовательность rgb или rgba из чисел с плавающей точкой 0-1, верните строку в формате hex.
-
matplotlib.colors.rgb_to_hsv(arr) -
Преобразует значения rgb с плавающей точкой (в диапазоне [0, 1]) в массиве numpy в значения hsv.
Параметры: arr : (..., 3) массив
Все значения должны быть в диапазоне [0, 1]
Возвращает: hsv : (..., 3) ndarray
Цвета, преобразованные в значения hsv в диапазоне [0, 1]
© 2012–2016 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
http://matplotlib.org/1.5.3/api/colors_api.html