highlight
プロットしたグラフのノードおよびエッジを強調表示
説明
highlight(___, は、前述の構文にある任意の入力引数を組み合わせて、1 つ以上の名前と値のペアの引数で指定される追加のオプションを使用します。たとえば、Name,Value)highlight(H,nodes,'NodeColor','g') は、ノードのマーカー サイズを増加するのではなく、ノードの色を緑に変更して、ノードのサブセットを強調表示します。
例
グラフを作成してプロットします。GraphPlot オブジェクトのハンドル h を返します。
s = 1; t = 2:6; G = graph(s,t); h = plot(G,'Layout','force')

h =
GraphPlot with properties:
NodeColor: [0.0660 0.4430 0.7450]
MarkerSize: 4
Marker: 'o'
EdgeColor: [0.0660 0.4430 0.7450]
LineWidth: 0.5000
LineStyle: '-'
NodeLabel: {'1' '2' '3' '4' '5' '6'}
EdgeLabel: {}
XData: [7.9523e-05 0.2529 -1.6071 -1.2461 1.7640 0.8361]
YData: [-4.4138e-04 -1.7737 -0.7868 1.2875 -0.3073 1.5808]
ZData: [0 0 0 0 0 0]
Show all properties
ノード 1 および 3 のマーカー サイズを増加して強調表示します。
highlight(h,[1 3])

ノード 1 および 3 の色を変更して強調表示します。
highlight(h,[1 3],'NodeColor','g')

グラフを作成してプロットします。GraphPlot オブジェクトのハンドル h を返します。
s = [1 1 1 1 1 1 2 3 4 5 6 7 7 7 7 8 9 10 11 8 6]; t = [2 3 4 5 6 7 3 4 5 6 2 8 9 10 11 10 10 11 8 1 11]; G = graph(s,t); h = plot(G)

h =
GraphPlot with properties:
NodeColor: [0.0660 0.4430 0.7450]
MarkerSize: 4
Marker: 'o'
EdgeColor: [0.0660 0.4430 0.7450]
LineWidth: 0.5000
LineStyle: '-'
NodeLabel: {'1' '2' '3' '4' '5' '6' '7' '8' '9' '10' '11'}
EdgeLabel: {}
XData: [-0.2157 -0.5149 -0.3637 -1.1504 -1.4097 -0.7742 0.9685 0.4346 1.9173 1.0259 0.0823]
YData: [-0.4806 -1.0307 -1.7531 -1.4460 -0.5843 0.0987 0.6570 0.5422 1.4401 1.4411 1.1157]
ZData: [0 0 0 0 0 0 0 0 0 0 0]
Show all properties
グラフの最小全域木を計算します。最小全域木のエッジのライン幅を増加し、色を変更して、プロット内の最小全域木の部分グラフを強調表示します。
[T,p] = minspantree(G); highlight(h,T,'EdgeColor','r','LineWidth',1.5)

グラフを作成してプロットします。GraphPlot オブジェクトのハンドル h を返します。
n = 10; A = delsq(numgrid('L',n+2)); G = graph(A,'omitselfloops'); G.Edges.Weight = ones(numedges(G),1); h = plot(G);

ノード 74 と 21 の間の最短経路上にあるノードとエッジの色を緑に変更して、その最短経路を強調表示します。
path = shortestpath(G,74,21); highlight(h,path,'NodeColor','g','EdgeColor','g')

一辺が 8 ノードの正方形グリッドを表すグラフを作成します。グラフをプロットし、GraphPlot オブジェクトのハンドル p を返します。
n = 8; A = delsq(numgrid('S',n+2)); G = graph(A,'omitselfloops'); p = plot(G);

ノード 36 の隣接ノードを求めます。
n36 = neighbors(G,36)
n36 = 4×1
28
35
37
44
highlight を使用してノード 36 の色を緑に変更し、その隣接ノードおよび連結エッジを赤に変更します。
highlight(p,36,'NodeColor',[0 0.75 0]) highlight(p,n36,'NodeColor','red') highlight(p,36,n36,'EdgeColor','red')

有向グラフを作成してプロットします。GraphPlot オブジェクトのハンドル h を返します。
G = digraph(bucky); h = plot(G);

ノード 1 とノード 56 の間の最大フローを計算します。maxflow に 2 つの出力を指定して、非ゼロ フローの有向グラフ GF を返します。
[mf,GF] = maxflow(G,1,56)
mf = 3
GF =
digraph with properties:
Edges: [28×2 table]
Nodes: [60×0 table]
highlight を使用して、非ゼロのフロー値をもつエッジの色を変更します。また、ソース ノード 1 およびターゲット ノード 56 の色を緑に変更します。
highlight(h,GF,'EdgeColor',[0.9 0.3 0.1],'NodeColor',[0.9 0.3 0.1]) highlight(h,[1 56],'NodeColor','g')

多重グラフの 2 つのノード間の最短経路をプロットし、通過する特定のエッジを強調表示します。
5 つのノードをもつ重み付き多重グラフを作成します。複数のノード ペアの間には複数のエッジがあります。参照用にグラフをプロットします。
G = graph([1 1 1 1 1 2 2 3 3 3 4 4],[2 2 2 2 2 3 4 4 5 5 5 2],[2 4 6 8 10 5 3 1 5 6 8 9]);
p = plot(G,'EdgeLabel',G.Edges.Weight);
ノード 1 とノード 5 の間の最短経路を検出します。複数のノード ペア間に複数のエッジがあるため、shortestpath に 3 つの出力を指定して、最短経路が通過する特定のエッジを返します。
[P,d,edgepath] = shortestpath(G,1,5)
P = 1×5
1 2 4 3 5
d = 11
edgepath = 1×4
1 7 9 10
結果は、最短経路の合計の長さが 11 で、G.Edges(edgepath,:) により返されたエッジを通過することを示します。
G.Edges(edgepath,:)
ans=4×2 table
EndNodes Weight
________ ______
1 2 2
2 4 3
3 4 1
3 5 5
関数 highlight を使用し、通過するエッジのインデックスを指定する名前 'Edges' と値のペアを指定して、このエッジ経路を強調表示します。
highlight(p,'Edges',edgepath)
入力引数
強調表示するノード。logical ベクトル、または 1 つ以上のノード インデックスまたはノード名として返されます。nodeIDs が logical ベクトルの場合、長さが numnodes(G) でなければなりません。
次の表に、1 つ以上のノードを数値ノード インデックスまたはノード名のいずれかで参照するさまざまな方法を示します。
| 形式 | 単一ノード | 複数ノード |
|---|---|---|
| ノード インデックス | スカラー 例: | ベクトル 例: |
| ノード名 | 文字ベクトル 例: | 文字ベクトルの cell 配列 例: |
string スカラー 例: | string 配列 例: |
nodeIDs は、highlight のオプションのパラメーター名と競合するノード名 ('Edges' や 'EdgeColor' など) を指定してはいけません。このような場合には、代わりに findnode を使用してノード インデックスを渡します。
強調表示するグラフ。graph オブジェクトまたは digraph オブジェクトとして指定します。G のノードおよびエッジのサブセットは H の基礎グラフと同じでなければなりません。次数 0 の孤立ノードは強調表示されません。
ノード ペア。ノード インデックスまたはノード名の個別の引数として指定します。s および t に同じように配置された要素は、グラフ エッジのソース ノードおよびターゲット ノードを指定します。
s および t は、highlight のオプションのパラメーター名と競合するノード名 ('Edges' や 'EdgeColor' など) を指定してはいけません。このような場合には、代わりに findnode を使用してノード インデックスを渡します。
例: highlight(H,[1 2],[3 3]) は、グラフ エッジ (1,3) および (2,3) を強調表示します。
例: highlight(H,'a','b') は、'a' から 'b' までのすべてのエッジを強調表示します。
名前と値の引数
オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで、Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。
R2021a より前では、コンマを使用して名前と値をそれぞれ区切り、Name を引用符で囲みます。
例: highlight(H,nodes,'NodeColor','y')
強調表示するエッジ
強調表示するエッジ。'Edges'、およびスカラー エッジ インデックス、エッジ インデックスのベクトルまたは logical ベクトルで構成されるコンマ区切りペアとして指定します。同じ 2 つのノード間に複数のエッジが存在する場合は、この名前と値のペアを使用して、ノード間の特定のエッジを強調表示します。
この名前と値のペアの値には、[path,d,edgepath] = shortestpath(…) など、shortestpath または shortestpathtree からの 3 番目の出力を指定できます。
例: highlight(p,'Edges',edgepath)
エッジのプロパティ
エッジの色。'EdgeColor' と、RGB 3 成分、16 進数カラー コードまたは色名で構成されるコンマ区切りのペアとして指定します。
RGB 3 成分および 16 進数カラー コードは、カスタム色を指定するのに役立ちます。
RGB 3 成分は、色の赤、緑、青成分の強度を指定する 3 成分の行ベクトルです。強度値は
[0,1]の範囲でなければなりません。たとえば[0.4 0.6 0.7]のようになります。16 進数カラー コードは、ハッシュ記号 (
#) で始まり、3 桁または 6 桁の0からFまでの範囲の 16 進数が続く文字ベクトルまたは string スカラーです。この値は大文字と小文字を区別しません。したがって、カラー コード"#FF8800"、"#ff8800"、"#F80"、および"#f80"は等価です。
あるいは、名前を使用して一部の一般的な色を指定できます。次の表に、名前の付いた色オプション、等価の 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"
次の表に、ライト テーマとダーク テーマでのプロットの既定のカラー パレットを示します。
パレット パレットの色 "gem"— ライト テーマの既定値R2025a より前: ほとんどのプロットで、これらの色が既定で使用されます。

"glow"— ダーク テーマの既定値
orderedcolors関数とrgb2hex関数を使用すると、これらのパレットの RGB 3 成分および 16 進数カラー コードを取得できます。たとえば、"gem"パレットの RGB 3 成分を取得し、16 進数カラー コードに変換します。RGB = orderedcolors("gem"); H = rgb2hex(RGB);R2023b より前:
RGB = get(groot,"FactoryAxesColorOrder")を使用して、RGB 3 成分を取得します。R2024a より前:
H = compose("#%02X%02X%02X",round(RGB*255))を使用して、16 進数カラー コードを取得します。
例: plot(G,'EdgeColor','r') は赤のエッジをもつグラフ プロットを作成します。
ライン スタイル。'LineStyle' と、次の表に挙げるライン スタイルのいずれかで構成されるコンマ区切りのペアとして指定します。
| 文字 | ライン スタイル | 結果として得られる線 |
|---|---|---|
'-' | 実線 |
|
'--' | 破線 |
|
':' | 点線 |
|
'-.' | 一点鎖線 |
|
'none' | ラインなし | ラインなし |
エッジのライン幅。'LineWidth' と、ポイント単位の正の値で構成されるコンマ区切りのペアとして指定します。
例: 0.75
矢印のサイズ。ポイント単位の正の値として指定します。ArrowSize の既定値は、ノード数が 100 以下のグラフでは 7、ノード数が 100 を超えるグラフでは 4 です。
ArrowSize は有向グラフでのみ使用します。
例: 15
エッジ上での矢印の位置。[0 1] の値として指定します。値が 0 に近いと矢印はソース ノードに近くなり、値が 1 に近いと矢印はターゲット ノードに近くなります。既定値は 0.5 です。この場合、矢印はソース ノードとターゲット ノードの中間に配置されます。
ArrowPosition は有向グラフでのみ使用します。
ノードのプロパティ
ノードの色。'NodeColor' と、RGB 3 成分、16 進数カラー コードまたは色名で構成されるコンマ区切りのペアとして指定します。
RGB 3 成分および 16 進数カラー コードは、カスタム色を指定するのに役立ちます。
RGB 3 成分は、色の赤、緑、青成分の強度を指定する 3 成分の行ベクトルです。強度値は
[0,1]の範囲でなければなりません。たとえば[0.4 0.6 0.7]のようになります。16 進数カラー コードは、ハッシュ記号 (
#) で始まり、3 桁または 6 桁の0からFまでの範囲の 16 進数が続く文字ベクトルまたは string スカラーです。この値は大文字と小文字を区別しません。したがって、カラー コード"#FF8800"、"#ff8800"、"#F80"、および"#f80"は等価です。
あるいは、名前を使用して一部の一般的な色を指定できます。次の表に、名前の付いた色オプション、等価の 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"
次の表に、ライト テーマとダーク テーマでのプロットの既定のカラー パレットを示します。
パレット パレットの色 "gem"— ライト テーマの既定値R2025a より前: ほとんどのプロットで、これらの色が既定で使用されます。

"glow"— ダーク テーマの既定値
orderedcolors関数とrgb2hex関数を使用すると、これらのパレットの RGB 3 成分および 16 進数カラー コードを取得できます。たとえば、"gem"パレットの RGB 3 成分を取得し、16 進数カラー コードに変換します。RGB = orderedcolors("gem"); H = rgb2hex(RGB);R2023b より前:
RGB = get(groot,"FactoryAxesColorOrder")を使用して、RGB 3 成分を取得します。R2024a より前:
H = compose("#%02X%02X%02X",round(RGB*255))を使用して、16 進数カラー コードを取得します。
例: plot(G,'NodeColor','k') は黒のノードをもつグラフ プロットを作成します。
ノード マーカー記号。'Marker' と、次の表に挙げる文字ベクトルのいずれかで構成されるコンマ区切りのペアとして指定します。既定では、グラフ ノードに円マーカーを使用します。
| マーカー | 説明 | 結果のマーカー |
|---|---|---|
"o" | 円 |
|
"+" | プラス記号 |
|
"*" | アスタリスク |
|
"." | 点 |
|
"x" | 十字 |
|
"_" | 水平線 |
|
"|" | 垂直線 |
|
"square" | 正方形 |
|
"diamond" | 菱形 |
|
"^" | 上向き三角形 |
|
"v" | 下向き三角形 |
|
">" | 右向き三角形 |
|
"<" | 左向き三角形 |
|
"pentagram" | 星形五角形 |
|
"hexagram" | 星形六角形 |
|
"none" | マーカーなし | 該当なし |
例: '+'
例: 'diamond'
ノードのマーカー サイズ。'MarkerSize' と、ポイント単位の正の値で構成されるコンマ区切りのペアとして指定します。既定のマーカー サイズは、ノード数が 100 以下のグラフでは 4、ノード数が 100 を超えるグラフでは 2 です。
例: 10
ノードとエッジのラベル
ノード ラベルの色。RGB 3 成分、16 進数カラー コードまたは色名として指定します。
RGB 3 成分および 16 進数カラー コードは、カスタム色を指定するのに役立ちます。
RGB 3 成分は、色の赤、緑、青成分の強度を指定する 3 成分の行ベクトルです。強度値は
[0,1]の範囲でなければなりません。たとえば[0.4 0.6 0.7]のようになります。16 進数カラー コードは、ハッシュ記号 (
#) で始まり、3 桁または 6 桁の0からFまでの範囲の 16 進数が続く文字ベクトルまたは string スカラーです。この値は大文字と小文字を区別しません。したがって、カラー コード"#FF8800"、"#ff8800"、"#F80"、および"#f80"は等価です。
あるいは、名前を使用して一部の一般的な色を指定できます。次の表に、名前の付いた色オプション、等価の 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" |
|
次の表に、ライト テーマとダーク テーマでのプロットの既定のカラー パレットを示します。
| パレット | パレットの色 |
|---|---|
R2025a より前: ほとんどのプロットで、これらの色が既定で使用されます。 |
|
|
|
orderedcolors 関数と rgb2hex 関数を使用すると、これらのパレットの RGB 3 成分および 16 進数カラー コードを取得できます。たとえば、"gem" パレットの RGB 3 成分を取得し、16 進数カラー コードに変換します。
RGB = orderedcolors("gem");
H = rgb2hex(RGB);R2023b より前: RGB = get(groot,"FactoryAxesColorOrder") を使用して、RGB 3 成分を取得します。
R2024a より前: H = compose("#%02X%02X%02X",round(RGB*255)) を使用して、16 進数カラー コードを取得します。
例: plot(G,'NodeLabel',C,'NodeLabelColor','m') は、マゼンタのノード ラベルをもつグラフ プロットを作成します。
エッジ ラベルの色。RGB 3 成分、16 進数カラー コードまたは色名として指定します。
RGB 3 成分および 16 進数カラー コードは、カスタム色を指定するのに役立ちます。
RGB 3 成分は、色の赤、緑、青成分の強度を指定する 3 成分の行ベクトルです。強度値は
[0,1]の範囲でなければなりません。たとえば[0.4 0.6 0.7]のようになります。16 進数カラー コードは、ハッシュ記号 (
#) で始まり、3 桁または 6 桁の0からFまでの範囲の 16 進数が続く文字ベクトルまたは string スカラーです。この値は大文字と小文字を区別しません。したがって、カラー コード"#FF8800"、"#ff8800"、"#F80"、および"#f80"は等価です。
あるいは、名前を使用して一部の一般的な色を指定できます。次の表に、名前の付いた色オプション、等価の 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" |
|
次の表に、ライト テーマとダーク テーマでのプロットの既定のカラー パレットを示します。
| パレット | パレットの色 |
|---|---|
R2025a より前: ほとんどのプロットで、これらの色が既定で使用されます。 |
|
|
|
orderedcolors 関数と rgb2hex 関数を使用すると、これらのパレットの RGB 3 成分および 16 進数カラー コードを取得できます。たとえば、"gem" パレットの RGB 3 成分を取得し、16 進数カラー コードに変換します。
RGB = orderedcolors("gem");
H = rgb2hex(RGB);R2023b より前: RGB = get(groot,"FactoryAxesColorOrder") を使用して、RGB 3 成分を取得します。
R2024a より前: H = compose("#%02X%02X%02X",round(RGB*255)) を使用して、16 進数カラー コードを取得します。
例: plot(G,'EdgeLabel',C,'EdgeLabelColor','m') は、マゼンタのエッジ ラベルをもつグラフ プロットを作成します。
フォント
ノード ラベルのフォント名。サポートされているフォント名または 'FixedWidth' として指定します。正しく表示および印刷するには、システムでサポートされているフォントを選択しなければなりません。既定のフォントは、特定のオペレーティング システムとロケールによって異なります。たとえば、英語版の Windows® および Linux® システムでは、既定で Helvetica フォントが使用されます。
どのロケールでもテキストが整って見える固定幅のフォントを使用するには、'FixedWidth' を指定します。
例: 'Cambria'
ノード ラベルのフォント サイズ。正の数値として指定します。既定のフォント サイズは、特定のオペレーティング システムとロケールによって異なります。
ノード ラベルのテキストの太さ。'normal' または 'bold' として指定します。
'bold'— 標準よりも太い文字'normal'— 各フォントで定義されている標準の太さ
すべてのフォントに太字フォントがあるとは限りません。
データ型: cell | char | string
ノード ラベルのテキストの文字の傾斜。'normal' または 'italic' として指定します。
'italic'— "文字の傾斜あり"'normal'— 文字の傾斜なし
すべてのフォントに両方のフォント スタイルがあるとは限りません。
データ型: cell | char | string
エッジ ラベルのフォント名。サポートされているフォント名または 'FixedWidth' として指定します。正しく表示および印刷するには、システムでサポートされているフォントを選択しなければなりません。既定のフォントは、特定のオペレーティング システムとロケールによって異なります。たとえば、英語版の Windows および Linux システムでは、既定で Helvetica フォントが使用されます。
どのロケールでもテキストが整って見える固定幅のフォントを使用するには、'FixedWidth' を指定します。
例: 'Cambria'
エッジ ラベルのフォント サイズ。正の数値として指定します。既定のフォント サイズは、特定のオペレーティング システムとロケールによって異なります。
エッジ ラベルのテキストの太さ。'normal' または 'bold' として指定します。
'bold'— 標準よりも太い文字'normal'— 各フォントで定義されている標準の太さ
すべてのフォントに太字フォントがあるとは限りません。
データ型: cell | char | string
エッジ ラベルのテキストの文字の傾斜。'normal' または 'italic' として指定します。
'italic'— "文字の傾斜あり"'normal'— 文字の傾斜なし
すべてのフォントに両方のフォント スタイルがあるとは限りません。
データ型: cell | char | string
バージョン履歴
R2015b で導入
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- 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)


















