Проверка значений цвета
проверяет одно значение цвета. Если значение цвета является допустимым, RGB = validatecolor(colors)validatecolor возвращает эквивалентный триплет RGB для цвета. Один из критериев validatecolor проверяет, указан ли один или несколько цветов. Для этого синтаксиса указание нескольких цветов недопустимо и приводит к ошибке.
Проверьте неподписанное 8-битное значение цвета.
RGB = validatecolor(uint8([128 0 255]))
RGB = 1×3
0.5020 0 1.0000
Создайте матрицу 2 на 3, содержащую неподписанные 16-битные значения для двух цветов. Затем проверьте цвета.
c = uint16([32768 0 65535; 0 65535 0]);
RGB = validatecolor(c,'multiple')RGB = 2×3
0.5000 0 1.0000
0 1.0000 0
Проверьте три имени цветов.
RGB = validatecolor({'red','green','blue'},'multiple')RGB = 3×3
1 0 0
0 1 0
0 0 1
Проверьте три шестнадцатеричных цветовых кода.
RGB = validatecolor({'#8000FF','#0F0','#FF9900'},'multiple')RGB = 3×3
0.5020 0 1.0000
0 1.0000 0
1.0000 0.6000 0
Определение функции с именем plotlines который принимает y в виде массива координат y и linecolors в качестве цветов для линий. Функция создает цветной график линий значений в y.
В рамках функции проверьте действительность linecolors путем вызова validatecolor функция. Укажите 'multiple' позволяет пользователям указывать один или несколько цветов. Если цвета недопустимы, validatecolor отображает сообщение об ошибке. В противном случае возвращается эквивалентный массив триплетов RGB. Затем используйте размер RGB для определения распределения цветов между линиями.
Сохраните функцию как plotlines.m в доступной для записи папке.
function plotlines(y,linecolors) % Plot colored lines. p = plot(y); % Check for valid color values RGB = validatecolor(linecolors,'multiple'); % Use RGB array in a calculation ncolors = size(RGB,1); nlines = numel(p); nupdate = min(ncolors,nlines); for n = 1:nupdate p(n).Color = RGB(n,:); end
Позвоните в plotlines функция для построения красной, синей и черной линий.
plotlines([0 1 2; 1 2 3],{'red','blue','black'})
Теперь вызовите функцию с недопустимым значением цвета. В этом случае укажите скалярное значение вместо массива m-by-3. MATLAB ® отображает ошибку, возвращенную validatecolor функция.
plotlines([0 1 2; 1 2 3],255)
Error using validatecolor (line 50)
Specify colors as a three-column matrix.
Error in plotlines (line 6)
RGB = validatecolor(linecolors,'multiple');Определение функции с именем plotminmax который принимает y в виде массива координат y и c в качестве необязательного аргумента цвета. Функция создает график линий с пунктирными горизонтальными линиями при минимальном и максимальном значениях y. Пунктирные линии по умолчанию являются черными, но пользователь может настроить цвет с помощью c аргумент.
В пределах arguments блок, проверить действительность c с validatecolor функция. Определить 'black' в качестве цвета по умолчанию, так что c может быть необязательным входом. Затем постройте график yи отображать горизонтальные линии при минимальных и максимальных значениях с помощью цвета c.
Сохраните функцию как plotminmax.m в доступной для записи папке.
function plotminmax(y,c) % Plot lines with horizontal lines indicating min/max of y. arguments y {mustBeNumeric, mustBeNonempty} c {validatecolor} = 'black' end plot(y) % Add min and max lines ymin = min(y,[],'all'); ymax = max(y, [],'all'); yline(ymin,'--','Color',c) yline(ymax,'--','Color',c) end
Позвоните в plotminmax с шестнадцатеричным кодом цвета для красного. Функция отображает координаты и горизонтальные линии заданного цвета.
plotminmax([8.4 2.5 7 3 9.2],'#FF0000')
Вызовите функцию с недопустимым значением цвета. В этом случае укажите недопустимое имя цвета. MATLAB отображает ошибку, возвращенную validatecolor функция.
plotminmax([8.4 2.5 7 3 9.2],'chartreuse')Error using plotminmax
Invalid argument at position 2. 'chartreuse' is not a valid
color specification. Valid names include: 'red', 'green',
'blue', 'cyan', 'magenta', 'yellow', 'black', and 'white'.
Valid hexadecimal color codes consist of '#' followed by three
or six hexadecimal digits.colors - Значения цветаЗначения цвета для проверки, указанные как одно из следующих:
1-на-3 вектор single или double значения в диапазоне [0,1], где значения соответствуют интенсивностям красного, зеленого и синего компонентов цвета соответственно.
Вектор 1 на 3 целых чисел без знака, где целые числа соответствуют интенсивностям красной, зеленой и синей составляющих цвета соответственно.
матрица m-на-3 single или double значения или целые числа без знака, где каждая строка матрицы содержит интенсивности красного, зеленого и синего компонентов цвета.
Вектор символов, указывающий имя цвета, например 'red'или шестнадцатеричный цветовой код, например '#F92B30'.
1-D массив ячеек из символьных векторов или строковый массив, где каждый элемент массива является либо именем цвета, например 'red'или шестнадцатеричный цветовой код, например '#F92B30'.
В следующей таблице перечислены допустимые имена цветов с эквивалентными триплетами RGB и шестнадцатеричными цветовыми кодами.
| Имя цвета | Краткое имя | Триплет RGB | Шестнадцатеричный цветовой код | Внешность |
|---|---|---|---|---|
'red' | 'r' | [1 0 0] | '#FF0000' |
|
'green' | 'g' | [0 1 0] | '#00FF00' |
|
'blue' | 'b' | [0 0 1] | '#0000FF' |
|
'cyan' | 'c' | [0 1 1] | '#00FFFF' |
|
'magenta' | 'm' | [1 0 1] | '#FF00FF' |
|
'yellow' | 'y' | [1 1 0] | '#FFFF00' |
|
'black' | 'k' | [0 0 0] | '#000000' |
|
'white' | 'w' | [1 1 1] | '#FFFFFF' |
|
Пример: RGB = validatecolor(uint8([255 0 0]))
Пример: RGB = validatecolor("#FF8800")
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | char | string
sz - Параметр «Размер»'one' (по умолчанию) | 'multiple'Параметр «Размер», заданный как один из следующих параметров:
'one' - принимать только одно значение цвета. В противном случае вернитесь к ошибке.
'multiple' - Принять одно или несколько значений цвета.
Пример: RGB = validatecolor(["red" "green"],'multiple')
RGB - значения RGBЭквивалентные значения RGB, возвращаемые как один триплет RGB или несколько триплетов RGB в матрице m-на-3. Триплет RGB - это трехэлементный вектор строки, элементы которого задают интенсивности красной, зеленой и синей составляющих цвета. Интенсивности находятся в диапазоне [0,1]. Например, [1 0 0] красный, и [0.5 0.5 0.5] - серый средний тон.
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.