Меню

Матлаб как сделать цвета



Настраиваем графики в MATLAB

Команда plot имеет множество настроек, которые определяют цвет, толщину и стиль линий, а также параметры маркеров на ваших графиках. Предлагаемые по умолчанию настройки неплохо смотрятся на экране настольного компьютера, но в презентациях требуются более жирные линии и более заметный шрифт. Рассмотрим как этого добиться с помощью настроек plot .

Данные

Упражняться будем на примере обычной синусоиды.

Обратите внимание на первую строку. В ней не только очищается память (Workspace) и командное окно MATLAB, но и закрываются все открытые ранее графические окна ( close all ). Очень полезно, чтобы не запутаться в старых и новых версиях рисунков.

Исходный график

Настроим график

А теперь давайте увеличим толщину линии, изменим ее цвет на красный и сделаем на ней маркеры в виде закрашенных красным кружков с черным контуром. Кроме того, сделаем размер рисунков равным 10х7.5 дюймов (4:3).

Настроим подписи к осям

На подписях к осям координат сделаем более крупный шрифт — 12 пт. Подпись к оси Х выполним полужирным шрифтом, а к оси Y — курсивом, вдобавок изменив цвет шрифта на синий.

Настроим все текстовые свойства рисунка.

Да, но теперь стиль цифр вдоль осей координат отличается от стиля подписей. А если к тому же у вас на одном рисунке размещено несколько координатных осей и несколько графиков. Нельзя ли выделить сразу все текстовые объекты и изменить их свойства? Конечно можно. Более того, аналогично можно выделить все линии и изменить их настройки. Вот как это делается.

Вначале выделим все объекты. Затем среди них выделим оси, линии и текстовые объекты. И, наконец, установим свойства объектов.

Читайте также

Комментарии

Дмитрий Храмов
Компьютерное моделирование и все, что с ним связано: сбор данных, их анализ, разработка математических моделей, софт для моделирования, визуализации и оформления публикаций. Ну и за жизнь немного.

Источник

Иллюстрированный самоучитель по 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 будут приведены в следующих разделах.

Источник

Матлаб как сделать цвета

2. Оформление графиков функций.

Сейчас рассмотрим ряд вопросов, связанных с внешним видом графиков функций — цветом и стилем линий, которым проведены сами графики, а также различными надписями в пределах графического окна.

Например, следущие команды

x = 0 : 0.1 : 3; y = sin( x );

plot( x, y, ‘r-‘, x, y, ‘ko’ )

позволяют придать графику вид красной сплошной линии, на которой в дискретных

вычисляемых точках проставляются чёрные окружности. Здесь функция plot дважды строит график одной и той же функции, но в двух разных стилях. Первый из этих стилей отмечен как ‘r-‘, что означает проведение линии красным цветом (буква r), а штрих означает проведение сплошной линии. Второй стиль, помеченный как ‘ko’ означает проведение чёрным цветом (буква k) окружностей (буква o) на месте вычисляемых точек.

В общем случае, функция

plot( x1, y1, s1, x2, y2, s2, )

позволяет объединить несколько графиков функций y1(x1), y2(x2), , проведя их со стилями s1, s2,

В случае функции вида

plot( x1, y1, s1, x1, y1, s2 )

мы можем провести линию графика единственной функции y1(x1) одним цветом, а точки на нём (вычисляемые точки) — другим цветом.

Стили s1, s2, задаются в виде набора трёх символьных маркеров, заключенных в одиночные кавычки. Первый (не обязательно по порядку) из этих маркеров задаёт тип линии:

Маркер Тип линии
непрерывная
штриховая
: пунктирная
-. штрих-пунктирная

Второй маркер задаёт цвет:

Маркер Цвет линии
c голубой
m фиолетовый
y жёлтый
r красный
g зелёный
b синий
w белый
k чёрный

Последний маркер задаёт тип проставляемых «точек»:

Маркер Тип точки
. точка
+ плюс
* звёздочка
o кружок
x крестик

Можно указывать не все три маркера. Тогда используются необходимые маркеры, установленные «по умолчанию». Порядок, в котором указываются маркеры, не является существенным, то есть ‘r+-‘ и ‘-+r’ приводят к одинаковому результату.

Если в строке стиля поставить маркер типа точки, но не проставить маркер на тип линии, то тогда отображаются только вычисляемые точки, а непрерывной линией они не соединяются.

Читайте также:  Какого цвета линзы подойдут кареглазым

Наиболее мощным способом оформления графиков функций (и выполнения других графических работ) является дескрипторный метод, полное изучение которого относится к так называемой низкоуровневой графике системы MATLAB и выходит за рамки настоящего пособия. Мы, однако, приведём сейчас (и позже) некоторые простые примеры.

Выше мы оформляли график функции sin с помощью непрерывной красной линии и чёрных кружков. Теперь попробуем ограничиться лишь непрерывной линией, но очень толстой. Как это можно сделать? Вот простое решение на базе дескрипторной графики:

x = 0 : 0.1 : 3; y = sin( x );

hPlot = plot( x, y );

set( hPlot, ‘LineWidth’, 7 );

Функция plot через опорные (вычисленные) точки с координатами x, y проводит отрезки прямых линий. Прямые линии в системе MATLAB представляют собой графические объекты типа Line. Эти объекты имеют огромное число свойств и характеристик, которые можно менять. Доступ к этим объектам осуществляется по их описателям (дескрипторам; handles).

Описатель объекта Line, использованного для построения нашего графика, возвращается функцией plot. Мы его запоминаем для дальнейшего использования в переменной hPlot. Затем этот описатель предлагается функции set для опознания конкретного графического объекта. Именно для такого опознанного объекта функция set изменяет характеристики, которые указаны в других аргументах при вызове функции set. В нашем примере мы указали свойство ‘LineWidth’ (толщина линии), для которого задали новое значение 7 (а по умолчанию — 0.5). В результате получается следующая картина:

Текущее значение любого параметра (атрибута; характеристики) графического объекта можно узнать с помощью функции get. Например, если после получения показанного на рисунке графика ввести и исполнить команду

width = get( hPlot, ‘LineWidth’ )

то для переменной width будет получено значение 7.

Теперь от оформления непосредственно линий перейдём к оформлению осей системы координат, к надписям на осях и так далее. MATLAB выбирает пределы на горизонтальной оси равными указанным для независимой переменной. Для зависимой переменной по вертикальной оси MATLAB вычисляет диапазон изменения значений функции. Затем этот вычисленный диапазон приписывается вертикальной оси системы координат, так что график функции оказывается как бы вписанным в прямоугольник.

Если мы хотим отказаться от этой особенности масштабирования при построении графиков в системе MATLAB, то мы должны явным образом навязать свои пределы изменения переменных по осям координат. Это делается с помощью функции

axis( [ xmin, xmax, ymin, ymax ] )

причём команду на выполнение этой функции можно вводить с клавиатуры сколько угодно раз уже после построения графика функции, чтобы, глядя на получающиеся визуальные изображения, добиться наилучшего восприятия. Такое масштабирование позволяет получить подробные изображения тех частей графика, которые вызывают наибольший интерес в конкретном исследовании. Например, для ранее полученного графика функции sin, можно сузить пределы по осям координат

axis( [ 1.5, 2.5, 0.5, 2 ] )

чтобы получше разглядеть вершину синусоиды:

Чаще всего этот приём увеличения масштаба изображения применяют при графическом решении уравнений с тем, чтобы получить более высокую точность приближения к корню.

Теперь изменим количество числовых отметок на осях. Их может показаться недостаточно (на горизонтальной оси последнего рисунка их всего три — для значений 1.5 , 2 и 2.5).

Читайте также:  Какого цвета должен быть женский кошелек для привлечения денег

Изменить отметки на осях координат можно с помощью функции set, обрабатывающей графический объект Axes. Это объект, который содержит оси координат и белый прямоугольник, внутри которого и проводится сам график функции. Для получения описателя такого объекта применяют функцию gca, которую вызывают без параметров.

В итоге, следующий фрагмент кода

hAxes = gca;

set( hAxes, ‘xtick’, [ 1.5, 1.75, 2.0, 2.25, 2.5 ] )

выполняющийся после построения графика, устанавливает новые метки на горизонтальной оси координат (пять штук).

Для проставления различных надписей на полученном рисунке применяют функции xlabel, ylabel, title и text. Функция xlabel предназначена для проставления названия горизонтальной оси, функция ylabel — то же для вертикальной оси (причём эти надписи ориентированы вдоль осей координат).

Если требуется разместить надпись в произвольном месте рисунка — применяем функцию text:

text( x, y, ‘some text’)

Общий заголовок для графика проставляется функцией title. Кроме того, используя команду

grid on

можно нанести измерительную сетку на всю область построения графика. Применяя все эти средства

title( ‘Function sin(x) graph’ );

xlabel( ‘x coordinate’ ); ylabel( ‘sin(x)’ );

text( 2.1, 0.9, ‘\leftarrowsin(x)’ ); grid on;

придаём графику функции следующий вид:

Надпись функцией text помещается, начиная от точки с координатами, указанными первыми двумя аргументами. Специальные символы вводятся внутри текста после символа \ («обратная косая черта»). В примере мы ввели таким образом специальный символ «стрелка влево». Обозначения для специальных символов совпадают с таковыми в системе подготовки научных текстов TeX.

Источник

Отображение красной, зеленой и синей цветовых плоскостей цветного изображения в MATLAB

Обязательное условие — представление изображения RGB
Цветное изображение может быть представлено в виде матрицы 3 порядка. Первый порядок предназначен для строк, второй порядок предназначен для столбцов, а третий порядок предназначен для указания цвета соответствующего пикселя. Здесь мы используем цветовой формат RGB, поэтому третий порядок будет принимать 3 значения Red, Green и Blue соответственно. Значения строк и столбцов зависят от размера изображения.

Подходить:

  • Загрузите изображение в переменную J с помощью imread () .
  • Сохраните количество строк и столбцов изображения в переменных r и c.
  • Создайте 3 нулевые матрицы R, G и B (по одной для каждого из 3 цветов) размера rXc.
  • Сохраните соответствующую цветовую плоскость изображения в соответствующей нулевой матрице.
  • Отобразите изображения с помощью imshow () , но сначала введите их в uint8 .

% MATLAB код для отображения красного, зеленого и синего
% цветовых плоскостей цветного изображения

I = imread( ‘lenna.png’ );

% строк и столбцов в изображении
r = size(I, 1);
c = size(I, 2);

% создания нулевых матриц
R = zeros(r, c, 3);
G = zeros(r, c, 3);
B = zeros(r, c, 3);

% хранения соответствующей цветовой плоскости

% красная плоскость
R(:, :, 1) = I(:, :, 1);

% зеленая плоскость
G(:, :, 2) = I(:, :, 2);

% синяя плоскость
B(:, :, 3) = I(:, :, 3);

% отображения изображений
figure, imshow(uint8(R));
figure, imshow(uint8(G));
figure, imshow(uint8(B));

Источник