matplotlib.colors.LightSource
- класс
matplotlib.colors.LightSource(azdeg=315, altdeg=45, hsv_min_val=0, hsv_max_val=1, hsv_min_sat=1, hsv_max_sat=0)[source]
-
Базы:
objectСоздаёт источник света, исходящий из указанного азимута и возвышения. Углы задаются в градусах, азимут измеряется по часовой стрелке от севера, возвышение — вверх от нулевой плоскости поверхности.
shadeиспользуется для создания «затенённых» значений rgb для массива данных.shade_rgbможет быть использован для комбинирования rgb-изображения с картой высот.hillshadeгенерирует карту освещённости поверхности.Укажите азимут (измеряется по часовой стрелке от юга) и высоту (измеряется вверх от плоскости поверхности) источника света в градусах.
Параметры: - azdegfloat, по умолчанию: 315 градусов (с северо-запада)
-
Азимут (0-360, градусы по часовой стрелке от севера) источника света.
- altdegfloat, по умолчанию: 45 градусов
-
Высота (0-90, градусы вверх от горизонтали) источника света.
Примечания
Для обратной совместимости, параметры hsv_min_val, hsv_max_val, hsv_min_sat и hsv_max_sat могут быть указаны при инициализации. Однако эти параметры будут использованы только если «blend_mode='hsv'» передано в
shadeилиshade_rgb. Смотрите документацию дляblend_hsvдля получения более подробной информации.-
__dict__= mappingproxy({'__module__': 'matplotlib.colors', '__doc__': '\n Создаёт источник света, исходящий из указанного азимута и возвышения.\n Углы задаются в градусах, азимут измеряется\n по часовой стрелке от севера, возвышение — вверх от нулевой плоскости поверхности.\n\n `shade` используется для создания «затенённых» значений rgb для массива данных.\n `shade_rgb` может быть использован для комбинирования rgb-изображения с картой высот.\n `hillshade` генерирует карту освещённости поверхности.\n ', '__init__': <function LightSource.__init__>, 'direction': <property object>, 'hillshade': <function LightSource.hillshade>, 'shade_normals': <function LightSource.shade_normals>, 'shade': <function LightSource.shade>, 'shade_rgb': <function LightSource.shade_rgb>, 'blend_hsv': <function LightSource.blend_hsv>, 'blend_soft_light': <function LightSource.blend_soft_light>, 'blend_overlay': <function LightSource.blend_overlay>, '__dict__': <attribute '__dict__' of 'LightSource' objects>, '__weakref__': <attribute '__weakref__' of 'LightSource' objects>, '__annotations__': {}})
-
__init__(azdeg=315, altdeg=45, hsv_min_val=0, hsv_max_val=1, hsv_min_sat=1, hsv_max_sat=0)[source] -
Укажите азимут (измеряется по часовой стрелке от юга) и высоту (измеряется вверх от плоскости поверхности) источника света в градусах.
Параметры: - azdegfloat, по умолчанию: 315 градусов (с северо-запада)
-
Азимут (0-360, градусы по часовой стрелке от севера) источника света.
- altdegfloat, по умолчанию: 45 градусов
-
Высота (0-90, градусы вверх от горизонтали) источника света.
Примечания
Для обратной совместимости, параметры hsv_min_val, hsv_max_val, hsv_min_sat и hsv_max_sat могут быть указаны при инициализации. Однако эти параметры будут использованы только если «blend_mode='hsv'» передано в
shadeилиshade_rgb. Смотрите документацию дляblend_hsvдля получения более подробной информации.
-
__module__= 'matplotlib.colors'
-
__weakref__ -
список слабых ссылок на объект (если определён)
-
blend_hsv(rgb, intensity, hsv_max_sat=None, hsv_max_val=None, hsv_min_val=None, hsv_min_sat=None)[source] -
Принимает массив входных данных, преобразует в значения 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).
Параметры: - rgbndarray
-
Массив MxNx3 RGB из чисел с плавающей точкой, значения которых лежат в диапазоне от 0 до 1 (цветное изображение).
- intensityndarray
-
Массив MxNx1 из чисел с плавающей точкой, значения которых лежат в диапазоне от 0 до 1 (серое изображение).
- hsv_max_satчисло, по умолчанию: 1
-
Максимальное значение насыщенности, до которого карта intensity может сдвинуть выходное изображение.
- hsv_min_satчисло, необязательно
-
Минимальное значение насыщенности, до которого карта intensity может сдвинуть выходное изображение. По умолчанию 0.
- hsv_max_valчисло, необязательно
-
Максимальное значение «v» (в «hsv»), до которого карта intensity может сдвинуть выходное изображение. По умолчанию 1.
- hsv_min_valчисло, необязательно
-
Минимальное значение «v» (в «hsv»), до которого карта intensity может сдвинуть выходное изображение. По умолчанию 0.
Возвращает: - ndarray
-
Массив MxNx3 RGB, представляющий объединённые изображения.
-
blend_overlay(rgb, intensity)[source] -
Комбинирует rgb-изображение с картой интенсивности, используя смешивание «overlay».
Параметры: - rgbndarray
-
Массив MxNx3 RGB из чисел с плавающей точкой, значения которых лежат в диапазоне от 0 до 1 (цветное изображение).
- intensityndarray
-
Массив MxNx1 из чисел с плавающей точкой, значения которых лежат в диапазоне от 0 до 1 (серое изображение).
Возвращает: - ndarray
-
Массив MxNx3 RGB, представляющий объединённые изображения.
-
blend_soft_light(rgb, intensity)[source] -
Комбинирует изображение rgb с картой интенсивности с помощью смешивания "мягкий свет", используя формулу "пегтоп".
Параметры: - rgbndarray
-
RGB-массив MxNx3 с плавающей точкой, значения которого лежат в диапазоне от 0 до 1 (цветное изображение).
- intensityndarray
-
Массив MxNx1 с плавающей точкой, значения которого лежат в диапазоне от 0 до 1 (изображение в градациях серого).
Возвращает: - ndarray
-
RGB-массив MxNx3, представляющий объединенные изображения.
- property
direction -
Вектор направления, указывающий на источник света.
-
hillshade(elevation, vert_exag=1, dx=1, dy=1, fraction=1.0)[source] -
Вычисляет интенсивность освещения поверхности, используя заданные азимут и высоту источника света.
Вычисляет нормальные векторы поверхности и передает их в
shade_normals.Параметры: - elevation2D array-like
-
Значения высоты, используемые для генерации карты освещения.
- vert_exagчисло, необязательно
-
Коэффициент увеличения высот при вычислении освещения. Может использоваться для учета различий в единицах измерения между системами координат x-y и высотой (например, десятичные градусы против метров) или для усиления/ослабления топографических эффектов.
- dxчисло, необязательно
-
Шаг по оси x (столбцы) входной сетки elevation.
- dyчисло, необязательно
-
Шаг по оси y (строки) входной сетки elevation.
- fractionчисло, необязательно
-
Увеличивает или уменьшает контраст карты освещения. Значения больше единицы приведут к тому, что промежуточные значения будут приближаться к полному освещению или тени (и обрезанию любых значений, которые выйдут за пределы 0 или 1). Обратите внимание, что это не визуально или математически то же самое, что и вертикальное преувеличение.
Возвращает: - ndarray
-
2D-массив значений освещения от 0 до 1, где 0 соответствует полной тени, а 1 — полному освещению.
-
shade(data, cmap, norm=None, blend_mode='overlay', vmin=None, vmax=None, vert_exag=1, dx=1, dy=1, fraction=1, **kwargs)[source] -
Комбинирует значения данных с цветовой картой со значениями интенсивности освещения (т. е. "карта освещения") значений.
Параметры: - data2D array-like
-
Значения высоты, используемые для генерации карты с тенями.
-
cmap
Colormap -
Цветовая карта, используемая для окраски массива data. Обратите внимание, что это должен быть экземпляр
Colormap. Например, вместо передачиcmap='gist_earth', используйтеcmap=plt.get_cmap('gist_earth'). -
norm
Normalizeinstance, optional -
Нормализация, используемая для масштабирования значений перед применением цветовой карты. Если None, входные данные будут линейно масштабированы между своим минимумом и максимумом.
- blend_mode{'hsv', 'overlay', 'soft'} или вызываемая функция, необязательно
-
Тип смешивания, используемый для объединения значений данных с цветовой картой с интенсивностью освещения. По умолчанию "overlay". Обратите внимание, что для большинства топографических поверхностей "overlay" или "soft" выглядят более реалистично с визуальной точки зрения. Если передается определенная пользователем функция, ожидается, что она будет объединять MxNx3 RGB-массив с плавающей точкой (в диапазоне от 0 до 1) с MxNx1 массивом освещения (также от 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*.
Возвращает: - ndarray
-
MxNx4-массив чисел с плавающей точкой в диапазоне от 0 до 1.
-
shade_normals(normals, fraction=1.0)[source] -
Вычисляет интенсивность освещения для нормальных векторов поверхности, используя заданные азимут и высоту источника света.
Представьте себе искусственное солнце, расположенное в бесконечности, под определенным азимутом и высотой, освещающее нашу поверхность. Части поверхности, которые наклонены к солнцу, должны светлеть, а части, обращенные в противоположную сторону, — темнеть.
Параметры: - fractionчисло, необязательно
-
Увеличивает или уменьшает контраст карты освещения. Значения больше единицы приведут к тому, что промежуточные значения будут приближаться к полному освещению или тени (и обрезанию любых значений, которые выйдут за пределы 0 или 1). Обратите внимание, что это не визуально или математически то же самое, что и вертикальное преувеличение.
Возвращает: - ndarray
-
2D-массив значений освещения от 0 до 1, где 0 соответствует полной тени, а 1 — полному освещению.
-
-
shade_rgb(rgb, elevation, fraction=1.0, blend_mode='hsv', vert_exag=1, dx=1, dy=1, **kwargs)[source] -
Используйте этот источник света, чтобы настроить цвета входного массива rgb, чтобы создать впечатление карты с затенённым рельефом с заданной elevation.
Параметры: - rgbarray-like
-
Массив RGB (M, N, 3), предполагается, что значения находятся в диапазоне от 0 до 1.
- elevationarray-like
-
Массив (M, N) значений высоты, используемых для создания карты с затенённым рельефом.
- fractionчисло
-
Увеличивает или уменьшает контраст затенённого рельефа. Значения, большие единицы, приведут к тому, что промежуточные значения приблизятся к полному освещению или тени (и обрезанию любых значений, которые выйдут за пределы 0 или 1). Обратите внимание, что это не визуально и не математически то же самое, что и вертикальное преувеличение.
- blend_mode{'hsv', 'overlay', 'soft'} или вызываемая функция, необязательно
-
Тип смешивания, используемый для объединения значений цветовой карты с интенсивностью освещения. Для обратной совместимости по умолчанию используется "hsv". Обратите внимание, что для большинства топографических поверхностей "overlay" или "soft" выглядят более реалистичными с визуальной точки зрения. Если предоставлена пользовательская функция, ожидается, что она объединит массив RGB MxNx3 с плавающей точкой (диапазон 0 до 1) с массивом затенённого рельефа MxNx1 (также от 0 до 1). (Подпись вызова функции
func(rgb, illum, **kwargs)) Дополнительные значения kwargs, переданные в эту функцию, будут переданы функции blend_mode. - vert_exagчисло, необязательно
-
Величина преувеличения значений высоты при вычислении освещения. Это можно использовать для компенсации различий в единицах между системой координат x-y и системой координат высоты (например, десятичные градусы против метров) или для преувеличения или уменьшения выраженности рельефа.
- dxчисло, необязательно
-
Интервал по оси x (столбцы) входной сетки elevation.
- dyчисло, необязательно
-
Интервал по оси y (строки) входной сетки elevation.
- Дополнительные kwargs передаются функции *blend_mode*.
Возвращаемое значение: - ndarray
-
Массив (m, n, 3) с плавающей точкой, значения которого лежат в диапазоне от 0 до 1.
-
Примеры использования matplotlib.colors.LightSource
© 2012–2021 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.4.3/api/_as_gen/matplotlib.colors.LightSource.html