matplotlib.colors.ИсточникСвета
- classmatplotlib.colors.LightSource(azdeg=315, altdeg=45, hsv_min_val=0, hsv_max_val=1, hsv_min_sat=1, hsv_max_sat=0)[source]
-
Bases:
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.- 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).
- Параметры:
-
-
rgb
ndarray -
Массив MxNx3 RGB из чисел с плавающей точкой от 0 до 1 (цветное изображение).
-
intensity
ndarray -
Массив 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.
-
rgb
- Возвращаемое значение:
-
ndarray-
Массив MxNx3 RGB, представляющий объединённые изображения.
- hillshade(elevation, vert_exag=1, dx=1, dy=1, fraction=1.0)[source]
-
Вычислите интенсивность освещения поверхности, используя заданные азимут и высоту источника света.
Это вычисляет нормальные векторы поверхности и затем передает их в
shade_normals- Параметры:
-
- elevation2D массив-подобный объект
-
Значения высот, используемые для генерации карты освещения
- 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]
-
Объединение значений данных с цветовой картой с картой интенсивности освещения (также известной как «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» выглядят более реалистично. Если передана пользовательская функция, ожидается, что она объединит MxNx3 RGB массив с плавающей точкой (в диапазоне от 0 до 1) с MxNx1 массивом hillshade (также от 0 до 1). (Подпись вызова функции
func(rgb, illum, **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, чтобы создать впечатление карты с затенённым рельефом с заданной высотой.
- Параметры:
-
- 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
-
Дополнительные kwargs передаются функции blend_mode.
- Возвращаемое значение:
-
ndarray-
Массив (m, n, 3) с плавающей точкой, значения которого находятся в диапазоне от 0 до 1.
Примеры использования matplotlib.colors.LightSource
© 2012–2023 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.7.5/api/_as_gen/matplotlib.colors.LightSource.html