matplotlib.colors.LightSource
- classmatplotlib.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, default: 315 degrees (from the northwest)
-
Азимут (0-360, градусы по часовой стрелке от севера) источника света.
- altdegfloat, default: 45 degrees
-
Высота (0-90, градусы вверх от горизонта) источника света.
Замечания
Для обратной совместимости параметры 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)[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_satnumber, default: 1
-
Максимальное значение насыщенности, до которого карта intensity может сдвигать выходное изображение.
- hsv_min_satnumber, optional
-
Минимальное значение насыщенности, до которого карта intensity может сдвигать выходное изображение. По умолчанию 0.
- hsv_max_valnumber, optional
-
Максимальное значение («v» в «hsv»), до которого карта intensity может сдвигать выходное изображение. По умолчанию 1.
- hsv_min_valnumber, optional
-
Минимальное значение («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-изображение с картой интенсивности, используя «soft light» смешивание, используя формулу «pegtop».
- Параметры
-
- rgbndarray
-
MxNx3 массив RGB чисел с плавающей запятой в диапазоне от 0 до 1 (цветное изображение).
- intensityndarray
-
MxNx1 массив чисел с плавающей запятой в диапазоне от 0 до 1 (полутоновое изображение).
- Возвращаемое значение
-
- ndarray
-
MxNx3 массив RGB, представляющий объединенные изображения.
- propertydirection
-
Вектор единичной длины, указывающий направление к источнику света.
- hillshade(elevation, vert_exag=1, dx=1, dy=1, fraction=1.0)[source]
-
Вычисляет интенсивность освещения поверхности, используя заданный азимут и высоту для источника света.
Этот метод вычисляет нормальные векторы для поверхности, а затем передает их в
shade_normals- Параметры
-
- elevation2D array-like
-
Значения высот, используемые для генерации карты освещения
- vert_exagnumber, optional
-
Значение, на которое следует преувеличить значения высот при вычислении освещения. Это может использоваться либо для коррекции различий в единицах измерения между системой координат x-y и системой координат высот (например, десятичные градусы против метров), либо для преувеличения или уменьшения топографических эффектов.
- dxnumber, optional
-
Шаг по x (столбцы) входной сетки elevation.
- dynumber, optional
-
Шаг по y (строки) входной сетки elevation.
- fractionnumber, optional
-
Увеличивает или уменьшает контраст теней. Значения больше единицы приведут к тому, что промежуточные значения будут приближаться к полному освещению или тени (и обрезанию любых значений, которые выходят за пределы 0 или 1). Обратите внимание, что это визуально и математически не то же самое, что вертикальное преувеличение.
- Возвращаемое значение
-
- ndarray
-
Двумерный массив значений освещенности в диапазоне 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]
-
Объединяет значения данных с цветовой картой с картой интенсивности освещения (также известной как "hillshade") значений.
- Параметры
-
- data2D массив-подобный объект
-
Значения высот, используемые для генерации карты с затенением.
-
cmap
Colormap -
Цветовая карта, используемая для раскраски массива data. Обратите внимание, что это должен быть экземпляр
Colormap. Например, вместо того, чтобы передаватьcmap='gist_earth', используйтеcmap=plt.get_cmap('gist_earth'). -
normэкземпляр
Normalize, необязательно -
Нормализация, используемая для масштабирования значений перед присвоением цвета. Если None, входные данные будут линейно масштабированы между их минимальным и максимальным значением.
- blend_mode{'hsv', 'overlay', 'soft'} или вызываемая функция, необязательно
-
Тип смешения, используемого для объединения значений данных с цветовой картой с интенсивностью освещения. По умолчанию - "overlay". Обратите внимание, что для большинства топографических поверхностей "overlay" или "soft" выглядят более реалистично с визуальной точки зрения. Если предоставлена пользовательская функция, ожидается, что она объединит массив RGB MxNx3 с плавающей точкой (диапазон от 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.
- Параметры
-
- rgbмассив-подобный объект
-
RGB-массив (M, N, 3), предполагается, что находится в диапазоне от 0 до 1.
- elevationмассив-подобный объект
-
Массив (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.5.1/api/_as_gen/matplotlib.colors.LightSource.html