validatecolor
説明
例
符号なし 8 ビットのカラーの検証
複数の符号なし 16 ビット カラーの検証
2 つのカラーについての符号なし 16 ビットの値を含む 2 行 3 列の行列を作成します。カラーを検証します。
c = uint16([32768 0 65535; 0 65535 0]);
RGB = validatecolor(c,'multiple')
RGB = 2×3
0.5000 0 1.0000
0 1.0000 0
色名の検証
3 つの色名を検証します。
RGB = validatecolor({'red','green','blue'},'multiple')
RGB = 3×3
1 0 0
0 1 0
0 0 1
16 進数カラーの検証
3 つの 16 進数カラー コードを検証します。
RGB = validatecolor({'#8000FF','#0F0','#FF9900'},'multiple')
RGB = 3×3
0.5020 0 1.0000
0 1.0000 0
1.0000 0.6000 0
関数でのカラーの検証
y 座標の配列としての y
と、ラインの色としての linecolors
を受け取る plotlines
という関数を定義します。関数は y
に色付きの値のライン プロットを作成します。
関数内で、関数 validatecolor
を呼び出して linecolors
の有効性をチェックします。'multiple'
オプションを指定して、ユーザーに 1 つ以上の色の指定を許可します。色が無効である場合、validatecolor
はエラー メッセージを表示します。それ以外の場合は、等価の RGB 3 成分配列を返します。次に 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 行 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');
関数の引数ブロックでのカラーの検証
y 座標の配列としての y
と、オプションのカラー引数としての c
を受け取る plotminmax
という関数を定義します。関数は y
の最小値と最大値で、破線の水平線でライン プロットを作成します。破線は既定で黒色ですが、ユーザーが c
引数を使用して色をカスタマイズできます。
arguments
ブロック内で、関数 validatecolor
を使用して c
の有効性をチェックします。既定の色として '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
赤色の 16 進数カラー コードを指定して関数 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 列のベクトル | m 行 3 列の行列 | 文字ベクトル | 文字ベクトルの cell 配列 | string 配列
検証する色の値。次のいずれかとして指定します。
single
またはdouble
の、[0,1]
の範囲の値の 1 行 3 列のベクトル。値は、それぞれ色の赤色、緑色、青色の成分の強度に対応します。1 行 3 列の符号なし整数のベクトル。整数は、それぞれ色の赤色、緑色、青色の成分の強度に対応します。
single
またはdouble
の値、または符号なし整数の m 行 3 列の行列。行列のそれぞれの行は、色の赤色、緑色、青色の成分の強度を含んでいます。'red'
のような色名を指定する文字ベクトル、または'#F92B30'
のような 16 進数カラー コード。文字ベクトルまたは string 配列の 1 次元 cell 配列。配列の各要素は
'red'
のような色名、または'#F92B30'
のような 16 進数カラー コードです。
次の表に、有効な色名を、等価の RGB 3 成分と 16 進数カラー コードとともに示します。
色名 | 省略名 | RGB 3 成分 | 16 進数カラー コード | 外観 |
---|---|---|---|---|
"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'
— 1 つの色の値のみを受け入れます。それ以外の場合はエラーを返します。'multiple'
— 1 つ以上の色の値を受け入れます。
例: RGB = validatecolor(["red" "green"],'multiple')
出力引数
RGB
— RGB 値
RGB 3 成分 | RGB 3 成分の行列
等価な RGB 値。単一の RGB 3 成分または m 行 3 列の行列内の複数の RGB 3 成分として返されます。RGB 3 成分は、色の赤、緑、青成分の強度を指定する 3 成分の行ベクトルです。強度値は [0,1]
の範囲になります。たとえば、[1 0 0]
は赤色で [0.5 0.5 0.5]
グレーの中間色です。
バージョン履歴
R2020b で導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)