Main Content

이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.

plot

그래프 노드와 간선 플로팅하기

설명

예제

plot(G)는 그래프 G에 노드와 간선을 플로팅합니다.

예제

plot(G,LineSpec)은 선 스타일, 마커 기호, 색을 설정합니다. 예를 들어, plot(G,'-or')은 노드에 빨간색 원을 사용하고, 간선에 빨간색 선을 사용합니다.

예제

plot(___,Name,Value)는 위에 열거된 구문에 나와 있는 입력 인수의 조합과 함께, 하나 이상의 이름-값 쌍의 인수로 지정된 추가적인 옵션을 사용합니다. 예를 들어, plot(G,'Layout','circle')은 그래프의 원형 링 레이아웃을 플로팅하고, plot(G,'XData',X,'YData',Y,'ZData',Z)는 그래프 노드의 (X,Y,Z) 좌표를 지정합니다.

plot(ax,___)는 현재 좌표축(gca) 대신 ax로 지정된 좌표축에 플로팅됩니다. 옵션 ax는 위에 열거된 구문의 입력 인수 조합보다 먼저 나올 수 있습니다.

예제

h = plot(___)GraphPlot 객체를 반환합니다. 이 객체를 사용하면 플로팅된 그래프의 속성을 검토하고 조정할 수 있습니다.

예제

모두 축소

희소 인접 행렬을 사용하여 그래프를 생성한 후 플로팅합니다.

n = 10;
A = delsq(numgrid('L',n+2));
G = graph(A,'omitselfloops')
G = 
  graph with properties:

    Edges: [130x2 table]
    Nodes: [75x0 table]

plot(G)

Figure contains an axes. The axes contains an object of type graphplot.

그래프를 생성하고 플로팅합니다. LineSpec 입력값을 지정하여 그래프 플롯의 Marker, NodeColor 및/또는 LineStyle을 변경합니다.

G = graph(bucky);
plot(G,'-.dr','NodeLabel',{})

Figure contains an axes. The axes contains an object of type graphplot.

유방향 그래프를 생성한 후 'force' 레이아웃을 사용하여 그래프를 플로팅합니다.

G = digraph(1,2:5);
G = addedge(G,2,6:15);
G = addedge(G,15,16:20)
G = 
  digraph with properties:

    Edges: [19x1 table]
    Nodes: [20x0 table]

plot(G,'Layout','force')

Figure contains an axes. The axes contains an object of type graphplot.

가중 그래프(Weighted Graph)를 생성합니다.

s = [1 1 1 1 1 2 2 7 7 9 3 3 1 4 10 8 4 5 6 8];
t = [2 3 4 5 7 6 7 5 9 6 6 10 10 10 11 11 8 8 11 9];
weights = [1 1 1 1 3 3 2 4 1 6 2 8 8 9 3 2 10 12 15 16];
G = graph(s,t,weights)
G = 
  graph with properties:

    Edges: [20x2 table]
    Nodes: [11x0 table]

노드의 사용자 지정 좌표를 사용하여 그래프를 플로팅합니다. x 좌표는 XData를 사용하여 지정되고, y 좌표는 YData를 사용하여 지정되고, z 좌표는 ZData를 사용하여 지정됩니다. EdgeLabel을 사용하여 간선 가중치로 간선에 레이블을 지정합니다.

x = [0 0.5 -0.5 -0.5 0.5 0 1.5 0 2 -1.5 -2];
y = [0 0.5 0.5 -0.5 -0.5 2 0 -2 0 0 0];
z = [5 3 3 3 3 0 1 0 0 1 0];
plot(G,'XData',x,'YData',y,'ZData',z,'EdgeLabel',G.Edges.Weight)

Figure contains an axes. The axes contains an object of type graphplot.

이 그래프를 위에서 바라봅니다.

view(2)

Figure contains an axes. The axes contains an object of type graphplot.

가중 그래프(Weighted Graph)를 생성합니다.

s = [1 1 1 1 2 2 3 4 4 5 6];
t = [2 3 4 5 3 6 6 5 7 7 7];
weights = [50 10 20 80 90 90 30 20 100 40 60];
G = graph(s,t,weights)
G = 
  graph with properties:

    Edges: [11x2 table]
    Nodes: [7x0 table]

가중치를 사용하여 간선에 레이블을 지정하고 가중치에 비례하도록 간선의 너비를 지정하여 그래프를 플로팅합니다. 가장 넓은 선의 너비가 5가 되도록, 간선 가중치를 다시 스케일링한 버전을 사용하여 각 간선의 너비를 결정합니다.

LWidths = 5*G.Edges.Weight/max(G.Edges.Weight);
plot(G,'EdgeLabel',G.Edges.Weight,'LineWidth',LWidths)

Figure contains an axes. The axes contains an object of type graphplot.

유방향 그래프를 생성합니다. 노드와 간선에 대한 사용자 지정 레이블을 가진 그래프를 플로팅합니다.

s = [1 1 1 2 2 3 3 4 4 5 6 7];
t = [2 3 4 5 6 5 7 6 7 8 8 8];
G = digraph(s,t)
G = 
  digraph with properties:

    Edges: [12x1 table]
    Nodes: [8x0 table]

eLabels = {'x' 'y' 'z' 'y' 'z' 'x' 'z' 'x' 'y' 'z' 'y' 'x'};
nLabels = {'{0}','{x}','{y}','{z}','{x,y}','{x,z}','{y,z}','{x,y,z}'};
plot(G,'Layout','force','EdgeLabel',eLabels,'NodeLabel',nLabels)

Figure contains an axes. The axes contains an object of type graphplot.

유방향 그래프를 생성하고 플로팅합니다. 출력 인수를 plot으로 지정하여 GraphPlot 객체에 대한 핸들을 반환합니다.

s = [1 1 1 2 2 3 3 4 5 5 6 7 7 8 8 9 10 11];
t = [2 3 10 4 12 4 5 6 6 7 9 8 10 9 11 12 11 12];
G = digraph(s,t)
G = 
  digraph with properties:

    Edges: [18x1 table]
    Nodes: [12x0 table]

p = plot(G)

Figure contains an axes. The axes contains an object of type graphplot.

p = 
  GraphPlot with properties:

     NodeColor: [0 0.4470 0.7410]
    MarkerSize: 4
        Marker: 'o'
     EdgeColor: [0 0.4470 0.7410]
     LineWidth: 0.5000
     LineStyle: '-'
     NodeLabel: {1x12 cell}
     EdgeLabel: {}
         XData: [2.5000 1.5000 2.5000 2 3 2 3 3 2.5000 4 3.5000 2.5000]
         YData: [7 6 6 5 5 4 4 3 2 3 2 1]
         ZData: [0 0 0 0 0 0 0 0 0 0 0 0]

  Show all properties

노드의 색과 마커를 변경합니다.

p.Marker = 's';
p.NodeColor = 'r';

Figure contains an axes. The axes contains an object of type graphplot.

노드의 크기를 늘립니다.

p.MarkerSize = 7;

Figure contains an axes. The axes contains an object of type graphplot.

간선의 선 스타일을 변경합니다.

p.LineStyle = '--';

Figure contains an axes. The axes contains an object of type graphplot.

노드의 x, y 좌표를 변경합니다.

p.XData = [2 4 1.5 3.5 1 3 1 2.1 3 2 3.1 4];
p.YData = [3 3 3.5 3.5 4 4 2 2 2 1 1 1];

Figure contains an axes. The axes contains an object of type graphplot.

입력 인수

모두 축소

입력 그래프로, graph 객체 또는 digraph 객체로 지정됩니다. 무방향 그래프를 생성하려면 graph를 사용하고 유방향 그래프를 생성하려면 digraph를 사용하십시오.

예: G = graph(1,2)

예: G = digraph([1 2],[2 3])

선 스타일, 마커 기호 및 색으로, 기호로 구성된 문자형 벡터 또는 string형 벡터로 지정됩니다. 기호는 임의의 순서로 표시될 수 있으며, 특성을 하나 이상 생략할 수 있습니다. 선 스타일을 생략하면 그래프 간선에 실선이 표시됩니다.

예: '--or'은 빨간색 원형 노드 마커를 사용하고 간선으로 빨간색 파선을 사용합니다.

예: 'r*'은 빨간색 별표 노드 마커를 사용하고 간선으로 빨간색 실선을 사용합니다.

선 스타일설명
-실선
--파선
:점선
-.일점 쇄선
마커설명
'o'
'+'플러스 기호
'*'별표
'.'
'x'십자
'_'가로선
'|'세로선
's'정사각형
'd'다이아몬드
'^'위쪽 방향 삼각형
'v'아래쪽 방향 삼각형
'>'오른쪽 방향 삼각형
'<'왼쪽 방향 삼각형
'p'펜타그램
'h'헥사그램
설명

y

노란색

m

자홍색

c

녹청색

r

빨간색

g

녹색

b

파란색

w

흰색

k

검은색

axes 객체입니다. axes 객체를 지정하지 않으면 plot은 현재 좌표축(gca)을 사용합니다.

이름-값 쌍의 인수

선택적으로 Name,Value 인수가 쉼표로 구분되어 지정됩니다. 여기서 Name은 인수 이름이고 Value는 대응값입니다. Name은 따옴표 안에 표시해야 합니다. Name1,Value1,...,NameN,ValueN과 같이 여러 개의 이름-값 쌍의 인수를 어떤 순서로든 지정할 수 있습니다.

예: p = plot(G,'EdgeColor','r','NodeColor','k','LineStyle','--')

여기에 나와 있는 그래프 속성은 일부에 불과합니다. 전체 목록을 보려면 GraphPlot 속성을 참조하십시오.

참고

ArrowSizedigraph를 사용하여 생성된 유방향 그래프의 표시에만 영향을 미칩니다.

화살표 크기로, 'ArrowSize'와 함께 양의 값(단위: 포인트)이 쉼표로 구분되어 지정됩니다. ArrowSize의 디폴트 값은 노드 개수가 100개 이하인 그래프의 경우 7이고, 노드 개수가 100개가 넘는 그래프의 경우 4입니다.

예: 15

간선의 색 데이터로, 'EdgeCData'와 함께, 그래프의 간선 개수와 동일한 길이의 벡터가 쉼표로 구분되어 지정됩니다. EdgeCData의 값이 현재 컬러맵의 색에 선형적으로 매핑되어, 플로팅된 그래프의 각 간선에 서로 다른 색이 사용됩니다.

간선 색으로, 'EdgeColor'와 함께 다음 값 중 하나가 쉼표로 구분되어 지정됩니다.

  • 'none' — 모서리가 그려지지 않습니다.

  • 'flat' — 각 간선의 색은 EdgeCData의 값에 따라 달라집니다.

  • 행렬 — 각 행은 간선 하나의 색을 나타내는 RGB 3색입니다. 행렬의 크기는 numedges(G)×3입니다.

  • RGB 3색, 16진수 색 코드 또는 색 이름 — 지정된 색이 간선에 사용됩니다.

    RGB 3색과 16진수 색 코드는 사용자 지정 색을 지정할 때 유용합니다.

    • RGB 3색은 요소를 3개 가진 행 벡터로, 각 요소는 색을 구성하는 빨간색, 녹색, 파란색의 농도를 지정합니다. 농도의 범위는 [0,1]이어야 합니다(예: [0.4 0.6 0.7]).

    • 16진수 색 코드는 문자형 벡터 또는 string형 스칼라로, 해시 기호(#)로 시작하고 그 뒤에 3자리 또는 6자리의 16진수 숫자(0에서 F 사이일 수 있음)가 옵니다. 이 값은 대/소문자를 구분하지 않습니다. 따라서 색 코드 '#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'

    다음은 MATLAB®이 여러 유형의 플롯에서 사용하는 디폴트 색의 RGB 3색과 16진수 색 코드입니다.

    RGB 3색16진수 색 코드모양
    [0 0.4470 0.7410]'#0072BD'

    [0.8500 0.3250 0.0980]'#D95319'

    [0.9290 0.6940 0.1250]'#EDB120'

    [0.4940 0.1840 0.5560]'#7E2F8E'

    [0.4660 0.6740 0.1880]'#77AC30'

    [0.3010 0.7450 0.9330]'#4DBEEE'

    [0.6350 0.0780 0.1840]'#A2142F'

예: plot(G,'EdgeColor','r')은 빨간색 간선을 사용하여 그래프 플롯을 생성합니다.

간선 레이블로, 'EdgeLabel'과 함께 숫자형 벡터, 문자형 벡터로 구성된 셀형 배열 또는 string형 배열이 쉼표로 구분되어 지정됩니다. EdgeLabel의 길이는 그래프의 간선 개수와 같아야 합니다. 기본적으로 EdgeLabel은 비어 있는 셀형 배열입니다(간선 레이블이 표시되지 않음).

예: {'A', 'B', 'C'}

예: [1 2 3]

예: plot(G,'EdgeLabel',G.Edges.Weight)는 가중치를 사용하여 그래프 간선에 레이블을 지정합니다.

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | cell | string

그래프 레이아웃 메서드로, 'Layout'과 함께 표에 나와 있는 옵션 중 하나가 쉼표로 구분되어 지정됩니다. 이 표에는 각각의 레이아웃 메서드를 추가로 미세 조정하는 호환되는 이름-값 쌍도 나와 있습니다. 이러한 레이아웃 특정 이름-값 쌍에 대한 자세한 내용은 layout 함수 도움말 페이지를 참조하십시오.

옵션설명레이아웃 특정 이름-값 쌍
'auto'(디폴트 값)

그래프의 크기와 구조에 따라 자동으로 선택되는 레이아웃 메서드입니다.

'circle'

원형 레이아웃입니다. 원점을 중심으로 반지름이 1인 원에 그래프 노드를 배치합니다.

'Center' — 원형 레이아웃의 가운데 노드

'force'

힘-방향(Force-directed) 레이아웃 [1]입니다. 인접 노드 사이에는 인력을, 원거리 노드 사이에는 반발력을 사용합니다.

'Iterations' — 힘-방향(Force-directed) 레이아웃 반복 횟수

'WeightEffect' — 간선 가중치가 레이아웃에 미치는 영향

'UseGravity' — 여러 성분을 갖는 레이아웃에 중력 적용 여부

'XStart' — 노드의 시작 x 좌표

'YStart' — 노드의 시작 y 좌표

'layered'

계층화된 노드 레이아웃 [2], [3], [4]입니다. 그래프 노드를 계층 집합에 배치하여 계층적 구조를 나타냅니다. 기본적으로 계층은 아래쪽으로 진행됩니다(유방향 비순환 그래프의 경우 화살표가 아래를 가리킴).

'Direction' — 계층 방향

'Sources' — 첫 번째 계층에 포함할 노드

'Sinks' — 마지막 계층에 포함할 노드

'AssignLayers' — 계층 할당 메서드

'subspace'

부분공간이 포함된 노드 레이아웃 [5]입니다. 그래프 노드를 고차원 부분공간에 플로팅한 후 위치를 2차원으로 다시 투영합니다. 기본적으로, 하위 공간 차원은 100 또는 노드의 총 개수 중 더 작은 값입니다.

'Dimension' — 포함된 부분공간의 차원

'force3'3차원 힘-방향(Force-directed) 레이아웃입니다.

'Iterations' — 힘-방향(Force-directed) 레이아웃 반복 횟수

'WeightEffect' — 간선 가중치가 레이아웃에 미치는 영향

'UseGravity' — 여러 성분을 갖는 레이아웃에 중력 적용 여부

'XStart' — 노드의 시작 x 좌표

'YStart' — 노드의 시작 y 좌표

'ZStart' — 노드의 시작 z 좌표

'subspace3'3차원 부분공간(Subspace)을 포함하는 레이아웃입니다.

'Dimension' — 포함된 부분공간의 차원

예: plot(G,'Layout','force3','Iterations',10)

예: plot(G,'Layout','subspace','Dimension',50)

예: plot(G,'Layout','layered')

선 스타일로, 'LineStyle'과 함께 다음 표에 나열된 선 스타일 중 하나가 쉼표로 구분되어 지정되거나 이러한 값으로 구성된 셀형 배열 또는 string형 벡터로 지정됩니다. 각 간선에 대해 서로 다른 선 스타일을 사용하려면 문자형 벡터로 구성된 셀형 배열 또는 string형 벡터를 지정하십시오.

문자선 스타일결과 선
'-'실선

'--'파선

':'점선

'-.'일점 쇄선

'none'선 없음선 없음

간선 너비로, 'LineWidth'와 함께 양의 값(단위: 포인트)이 쉼표로 구분되어 지정되거나 이러한 값으로 구성된 벡터로 지정됩니다. 그래프의 각 간선에 대해 서로 다른 선 너비를 사용하려면 벡터를 지정하십시오.

예: 0.75

노드 마커 기호로, 'Marker'와 함께 다음 표에 나열된 문자형 벡터 중 하나가 쉼표로 구분되어 지정되거나 이러한 값으로 구성된 셀형 배열 또는 string형 벡터로 지정됩니다. 기본적으로 그래프 노드에는 원형 마커가 사용됩니다. 각 노드에 대해 서로 다른 마커를 사용하려면 문자형 벡터로 구성된 셀형 배열 또는 string형 벡터를 지정하십시오.

설명
'o'
'+'플러스 기호
'*'별표
'.'
'x'십자
'_'가로선
'|'세로선
'square' 또는 's'정사각형
'diamond' 또는 'd'다이아몬드
'^'위쪽 방향 삼각형
'v'아래쪽 방향 삼각형
'>'오른쪽 방향 삼각형
'<'왼쪽 방향 삼각형
'pentagram' 또는 'p'오각별(펜타그램)
'hexagram' 또는 'h'육각별(헥사그램)
'none'마커 없음

예: '+'

예: 'diamond'

노드 마커 크기로, 'MarkerSize'와 함께 양의 값(단위: 포인트)이 쉼표로 구분되어 지정되거나 이러한 값으로 구성된 벡터로 지정됩니다. 그래프의 각 노드에 대해 서로 다른 마커 크기를 사용하려면 벡터를 지정하십시오. MarkerSize의 디폴트 값은 노드 개수가 100개 이하인 그래프의 경우 4이고, 노드 개수가 100개가 넘는 그래프의 경우 2입니다.

예: 10

노드 마커의 색 데이터로, 'NodeCData'와 함께, 그래프의 노드 개수와 같은 길이의 벡터가 쉼표로 구분되어 지정됩니다. NodeCData의 값이 현재 컬러맵의 색에 선형적으로 매핑되어, 플로팅된 그래프의 각 노드에 서로 다른 색이 사용됩니다.

노드 색으로, 'NodeColor'와 함께 다음 값 중 하나가 쉼표로 구분되어 지정됩니다.

  • 'none' — 노드가 그려지지 않습니다.

  • 'flat' — 각 노드의 색이 NodeCData의 값에 따라 달라집니다.

  • 행렬 — 각 행은 노드 하나의 색을 나타내는 RGB 3색입니다. 행렬의 크기는 numnodes(G)×3입니다.

  • RGB 3색, 16진수 색 코드 또는 색 이름 — 지정된 색이 노드에 사용됩니다.

    RGB 3색과 16진수 색 코드는 사용자 지정 색을 지정할 때 유용합니다.

    • RGB 3색은 요소를 3개 가진 행 벡터로, 각 요소는 색을 구성하는 빨간색, 녹색, 파란색의 농도를 지정합니다. 농도의 범위는 [0,1]이어야 합니다(예: [0.4 0.6 0.7]).

    • 16진수 색 코드는 문자형 벡터 또는 string형 스칼라로, 해시 기호(#)로 시작하고 그 뒤에 3자리 또는 6자리의 16진수 숫자(0에서 F 사이일 수 있음)가 옵니다. 이 값은 대/소문자를 구분하지 않습니다. 따라서 색 코드 '#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'

    다음은 MATLAB이 여러 유형의 플롯에서 사용하는 디폴트 색의 RGB 3색과 16진수 색 코드입니다.

    RGB 3색16진수 색 코드모양
    [0 0.4470 0.7410]'#0072BD'

    [0.8500 0.3250 0.0980]'#D95319'

    [0.9290 0.6940 0.1250]'#EDB120'

    [0.4940 0.1840 0.5560]'#7E2F8E'

    [0.4660 0.6740 0.1880]'#77AC30'

    [0.3010 0.7450 0.9330]'#4DBEEE'

    [0.6350 0.0780 0.1840]'#A2142F'

예: plot(G,'NodeColor','k')는 검은색 노드가 있는 그래프 플롯을 생성합니다.

노드 레이블로, 'NodeLabel'과 함께 숫자형 벡터, 문자형 벡터로 구성된 셀형 배열 또는 string형 배열이 쉼표로 구분되어 지정됩니다. NodeLabel의 길이는 그래프의 노드 개수와 같아야 합니다. 기본적으로 NodeLabel은 다음과 같이 그래프 노드에 대한 노드 ID를 포함하는 셀형 배열입니다.

  • 이름이 지정되지 않은 노드의 경우(즉, G.NodesName 변수를 포함하지 않음), 노드 레이블은 셀형 배열에 포함된 값 unique(G.Edges.EndNodes)입니다.

  • 명명된 노드의 경우, 노드 레이블은 G.Nodes.Name'입니다.

예: {'A', 'B', 'C'}

예: [1 2 3]

예: plot(G,'NodeLabel',G.Nodes.Name)은 해당 이름을 사용하여 노드에 레이블을 지정합니다.

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | cell | string

참고

XDataYData는 각 노드가 유효한 (x,y) 좌표를 갖도록 함께 지정해야 합니다. 선택적으로, ZData를 지정하여 3차원 좌표를 나타낼 수도 있습니다.

노드의 x 좌표로, 'XData'와 함께, 그래프의 노드 개수와 동일한 길이의 벡터가 쉼표로 구분되어 지정됩니다.

참고

XDataYData는 각 노드가 유효한 (x,y) 좌표를 갖도록 함께 지정해야 합니다. 선택적으로, ZData를 지정하여 3차원 좌표를 나타낼 수도 있습니다.

노드의 y 좌표로, 'YData'와 함께, 그래프의 노드 개수와 동일한 길이의 벡터가 쉼표로 구분되어 지정됩니다.

참고

XDataYData는 각 노드가 유효한 (x,y) 좌표를 갖도록 함께 지정해야 합니다. 선택적으로, ZData를 지정하여 3차원 좌표를 나타낼 수도 있습니다.

노드의 z 좌표로, 'ZData'와 함께, 그래프의 노드 개수와 동일한 길이의 벡터가 쉼표로 구분되어 지정됩니다.

출력 인수

모두 축소

그래프 플롯으로, 객체로 반환됩니다. 자세한 내용은 GraphPlot을 참조하십시오.

호환성 관련 고려 사항

모두 확장

R2018a에서 동작이 변경됨

참고 문헌

[1] Fruchterman, T., and E. Reingold. “Graph Drawing by Force-directed Placement.” Software — Practice & Experience. Vol. 21 (11), 1991, pp. 1129–1164.

[2] Gansner, E., E. Koutsofios, S. North, and K.-P Vo. “A Technique for Drawing Directed Graphs.” IEEE Transactions on Software Engineering. Vol.19, 1993, pp. 214–230.

[3] Barth, W., M. Juenger, and P. Mutzel. “Simple and Efficient Bilayer Cross Counting.” Journal of Graph Algorithms and Applications. Vol.8 (2), 2004, pp. 179–194.

[4] Brandes, U., and B. Koepf. “Fast and Simple Horizontal Coordinate Assignment.” LNCS. Vol. 2265, 2002, pp. 31–44.

[5] Y. Koren. “Drawing Graphs by Eigenvectors: Theory and Practice.” Computers and Mathematics with Applications. Vol. 49, 2005, pp. 1867–1888.

R2015b에 개발됨