Иллюстрированный самоучитель по MatLab
Установка палитры цветов
Поскольку графика MATLAB обеспечивает получение цветных изображений, в ней есть ряд команд для управления цветом и различными световыми эффектами. Среди них важное место занимает установка палитры цветов. Палитра цветов RGB задается матрицей MAP из трех столбцов, определяющих значения интенсивности красного (red), зеленого (green) и синего (blue) цветов. Их интенсивность задается в относительных единицах от 0.0 до 1.0. Например, [0 0 0] задает черный цвет, [1 1 1] – белый цвет, [0 0 1] – синий цвет. При изменении интенсивности цветов в указанных пределах возможно задание любого цвета. Таким образом, цвет соответствует общепринятому формату RGB.
Для установки палитры цветов служит команда colormap, записываемая в следующих формах:
- colormap(‘default’) – устанавливает палитру по умолчанию, при которой распределение цветов соответствует радуге;
- colormap(MAP) – устанавливает палитру RGB, заданную матрицей MAP;
- C=colormap – функция возвращает матрицу текущей палитры цветов С, m-файл с именем colormap устанавливает свойства цветов для текущего графика.
Команда help graphSd наряду с прочим выводит полный список характерных палитр, используемых графической системой MATLAB:
- hsv – цвета радуги;
- hot – чередование черного, красного, желтого и белого цветов;
- gray – линейная палитра в оттенках серого цвета;
- bone – серые цвета с оттенком синего;
- copper – линейная палитра с оттенками меди;
- pink – розовые цвета с оттенками пастели;
- white – палитра белого цвета;
- flag – чередование красного, белого, синего и черного цветов;
- lines – палитра с чередованием цветов линий;
- colorcube – расширенная палитра RGB;
- jet – разновидность палитры HSV;
- prism – призматическая палитра цветов;
- cool – оттенки голубого и фиолетового цветов;
- autumn – оттенки красного и желтого цветов;
- spring – оттенки желтого и фиолетового цветов;
- winter – оттенки синего и зеленого цветов;
- summer – оттенки зеленого и желтого цветов.
Все эти палитры могут служить параметрами команды colormap, например colormap(hsv) фактически устанавливает то же, что и команда colormap(‘default’). Примеры применения команды colormap будут приведены в следующих разделах.
Источник
Как установить цветовую шкалу в контурной функции в MATLAB с произвольными максимальными и минимальными значениями?
Простой вопрос. Нужно ли в любом случае сообщить функции Matlab “contourf”, чтобы масштабировать цвета с моими значениями (а не значениями набора данных)? Я знаю, что вы можете вызвать функцию просто
и установка диапазона в векторе v, но моя проблема в том, что Matlab автоматически проверяет, действительно ли указанные значения в векторе v фактически существуют в Data? Если они не существуют, он автоматически пересказывает диапазон цветов до максимального и минимального значений, доступных в наборе данных.
тогда, когда я позвоню
показанная цветовая палитра
Причина, по которой я прошу об этом, заключается в том, что я хотел бы несколько контурных графиков для разных наборов данных, но мне нужно всегда иметь один и тот же код цвета, связанный с максимумом/минимумами, которые могут быть необязательными в текущем массиве данных, переданном функции контура,
Надеюсь, я был достаточно ясен.
Посмотрите на команду caxis . Я не тестировал его с contourf , но я думаю, что это то, что вам нужно.
Используйте его так:
где cmin и cmax – минимальный и максимальный цвета, указанные как индексы в текущей цветовой карте. С help caxis :
CAXIS – это функция, которая устанавливает свойства осей CLim и CLimMode.
это означает, что вы также можете вручную set(gca, ‘clim’, [. ]) эти настройки осей (например, set(gca, ‘clim’, [. ]) )
Источник
Colors in MATLAB plots
L. Oberbroeckling, Spring 2018.
Contents
This document gives BASIC ways to color graphs in MATLAB. See
for more in-depth explanations and fancier coloring, to name just two sources.
Default Colors in 2D Graphs
The default colors used in MATLAB changed in R2014b version. Here are the colors, in order, and their MATLAB RGB triplet.
Current color | Old color | ||
---|---|---|---|
[0, 0.4470, 0.7410] | [0, 0, 1] | ||
[0.8500, 0.3250, 0.0980] | [0, 0.5, 0] | ||
[0.9290, 0.6940, 0.1250] | [1, 0, 0] | ||
[0.4940, 0.1840, 0.5560] | [0, 0.75, 0.75] | ||
[0.4660, 0.6740, 0.1880] | [0.75, 0, 0.75] | ||
[0.3010, 0.7450, 0.9330] | [0.75, 0.75, 0] | ||
[0.6350, 0.0780, 0.1840] | [0.25, 0.25, 0.25] |
Another thing that changed starting in the R2014b version is that the hold on and hold off automatically cycles through the colors. In the past, each new plot command would start with the first color (blue) and you would have to manually change the color. Now it will automatically move to the next color(s). See below for how to manually adjust the colors.
Default Colors in 3D Graphs
If using mesh(x,y,z), to change the look of it you would want to change 'EdgeColor'. Note that the name of this colormap is «parula» while previous to R2014b, it was «jet»
Using Basic Colors in Graphs
The eight basic colors are known by either their short name or long name (RGB triplets are also included).
Long Name | Short Name | RGB Triplet |
---|---|---|
blue | b | [0,0,1] |
black | k | [0,0,0] |
red | r | [1,0,0] |
green | g | [0,1,0] |
yellow | y | [1,1,0] |
cyan | c | [0,1,1] |
magenta | m | [1,0,1] |
white | w | [1,1,1] |
Example of how to change the color using short names is below. You can easily do the same thing using the long names.
Changing Colors
Many times you want to have more control of what colors are used. For example, I may want some data points drawn in the same color as the curve. Or I have a piece-wise graph that I want to have all the same color. There are several ways to do this. One is to use the default colors and «resetting» the order, which is shown here. Others involve using the RGB triplet (see next section).
As you may see, this could get confusing to keep track of. Thus it may be easier to use the RGB triplets, and even name them ahead of time. This is discussed in the section below.
Using RGB triplets to change colors
One can specify colors using a vector that gives the RGB triple where in MATLAB, each of the three values are numbers from 0 to 1. Usually RGB colors have values from 0 to 255. You can use those numbers and divide the vector by 255 to use within MATLAB. Thus knowing the MATLAB RGB triples for the colors can be useful. From the table above, we can define the default colors to work with them or can put in the RGB triplet (as a vector) directly into the plot command. Both are shown in this example.
For other colors, you can look up their RGB code on many websites such as RGB Color Codes Chart or HTML Color Picker to see the RGB codes (or hex codes, etc.) For example, at these RGB Color websites, you will be given R=255, G=0, B=0 for red. So you can use 1/255[255,0,0] to get the color of red to use as a color in MATLAB.
The official color for Loyola Green is given as RGB:0-104-87, and Loyola Gray is given as RGB:200-200-200 (found on Loyola’s Logos/University Signature page. Here’s how one can use those colors in MATLAB.
Now one can use these colors to specify the color of markers, lines, edges, faces, etc.
Changing colors in 3D Graphs
If using mesh(x,y,z), to change the look of it you can change to a different colormap as discussed in https://www.mathworks.com/help/matlab/ref/colormap.html. This was done above when showing the previous default colormap. Here are some more.
Warning! Once you change the colormap, it will keep that colormap for all subsequent 3D plots within the same figure or MATLAB session until you use close, or open a new figure window.
For mesh and surf, you can change 'EdgeColor' and/or 'FaceColor' to be uniform, rather than using colormaps.
Источник
Matplotlib. Урок 4.4. Визуализация данных. Цветовая сетка
Цветовая сетка представляет собой поле, заполненное цветом, который определяется заданной цветовой картой и численными значениями элементов переданного двумерного массива. Этот урок будет посвящен инструментам Matplotlib для построения цветовых сеток.
Цветовые карты (colormaps)
Цветовая карта представляет собой подготовленный набор цветов, который хорошо подходит для визуализации того или иного набора данных. Подробное руководство по цветовым картам вы можете найти на официальном сайте Matplotlib. Также отметим, что такие карты можно создавать самостоятельно, если среди существующих нет подходящего решения. Ниже представлены примеры некоторых цветовых схем, из библиотеки Matplotlib .
Построение цветовой сетки
Рассмотрим две функции для построения цветовой сетки: imshow () и pcolormesh ().
imshow()
Основное назначение функции imshow () состоит в представлении 2d растров. Это могут быть картинки, двумерные массивы данных, матрицы и т.п. Напишем простую программу, которая загружает картинку из интернета по заданному URL и отображает ее с использованием библиотеки Matplotlib :
В результате получим изображение логотипа Matplotlib .
Создадим двумерный набор данных и отобразим его с помощью imshow():
Рассмотрим некоторые из параметров функции imshow():
- X : массив или PIL изображение
- Поддерживаются следующие размерности массивов:
- ( M, N ): двумерный массив со скалярными данными.
- ( M, N , 3): массив с RGB значениями (0-1 float или 0-255 int ).
- (M, N, 4): массив с RGBA значениями (0-1 float или 0-255 int ).
- Поддерживаются следующие размерности массивов:
- cmap : str или Colormap, optional
- Цветовая карта изображения (см. Цветовые карты)
- norm:Normalize, optional
- Нормализация – приведение скалярных данных к диапазону [0,1] перед использованием cmap . Этот параметр игнорируется для RGB(A) данных.
- aspect : или float, optional
- ‘equal’ : обеспечивает соотношение сторон равное 1.
- ‘auto’ : соотношение не изменяется.
- interpolation: str, optional
- Алгоритм интерполяции, доступны следующие значения: ‘none’, ‘nearest’, ‘bilinear’, ‘bicubic’, ‘spline16’, ‘spline36’, ‘hanning’, ‘hamming’, ‘hermite’, ‘kaiser’, ‘quadric’, ‘catrom’, ‘gaussian’, ‘bessel’, ‘mitchell’, ‘sinc’, ‘lanczos’ .
- alpha: scalar, optional
- Прозрачность, определяется в диапазоне от 0 до 1. Параметр игнорируется для RGBA значения.
- vmin, vmax : численное значение , optional
- Численные значения vmin и vmax (если параметр norm не задан явно) определяют диапазон в данных, который будет покрыт цветовой картой. По умолчанию цветовая карта охватывает весь диапазон значений отображаемых данных. Если используется параметр norm, то vmin и vmax игнорируются.
- origin: <‘upper’, ‘lower’>, optional
- Расположение начал координат – точки [0,0]: ‘upper’ – верхний левый, ‘lower’ – нижний левый угол координатной плоскости.
- extent : scalars (left, right, bottom, top), optional
- Изменение размеров изображения вдоль осей x, y.
- filterrad: float > 0, optional, значение по умолчанию: 4.0
- Параметр filter radius для фильтров, которые его используют, например: ‘sinc’, ‘lanczos’ или ‘blackman’ .
Построим пример, использующий параметры из приведенного выше списка:
pcolormesh()
Рассмотрим ещё одну функцию для визуализации 2D наборов данных – pcolormesh() . В библиотеке Matplotlib есть ещё одна функция с аналогичным функционалом – pcolor() , в отличии от нее рассматриваемая нами pcolormesh() более быстрая и является лучшим вариантом в большинстве случаев. Функция pcolormesh() похожа по своим возможностям на imshow() , но есть и отличия.
Рассмотрим параметры функции pcolormesh():
- C : массив
- 2D массив скалярных значений
- cmap : str или Colormap, optional
- См. cmap в imshow()
- norm :Normalize, optional
- См. cmap в imshow()
- vmin, vmax : scalar, optional, значение по умолчанию : None
- См. vmin, vmax в imshow()
- edgecolors : <‘none’, None, ‘face’, color, color sequence>, optional
- Цвет границы, по умолчанию: ‘none’ , возможны следующие варианты:
- ‘none’ or ”: без отображения границы.
- None : черный цвет.
- ‘face’ : используется цвет ячейки.
- Можно выбрать цвет из доступных наборов.
- Цвет границы, по умолчанию: ‘none’ , возможны следующие варианты:
- alpha : scalar, optional, значение по умолчанию : None
- См. alpha в imshow() .
- shading : <‘flat’, ‘gouraud’>, optional
- Стиль заливки, доступные значения:
- ‘flat’ : сплошной цвет заливки для каждого квадрата.
- ‘gouraud‘: для каждого квадрата будет использован метод затенения Gouraud.
- Стиль заливки, доступные значения:
- snap : bool, optional, значение по умолчанию : False
- Привязка сетки к границам пикселей.
Пример использования функции pcolormesh() :
P.S.
Вводные уроки по “Линейной алгебре на Python” вы можете найти соответствующей странице нашего сайта . Все уроки по этой теме собраны в книге “Линейная алгебра на Python”.
Если вам интересна тема анализа данных, то мы рекомендуем ознакомиться с библиотекой Pandas. Для начала вы можете познакомиться с вводными уроками. Все уроки по библиотеке Pandas собраны в книге “Pandas. Работа с данными”.
Источник