페이지

2022년 9월 4일 일요일

25.3 노드에 속성 지정하기

 노드에는 '색'과 '모양'을 지정할 수 있습니다. 방금 사용한 sample.dot 파일을 다음과 같이 수정해봅시다.

digraph g{

1 [label="x", color=orange, style=filled]

2 [label="y", color=orange, style=filled]

}

이전과 마찬가지로 각 줄에는 노드 하나의 정보가 담깁니다. 그러나 이번에는 각 줄이 '1'과 '2' 같은 숫자로 시작하고 있습니다. 이 값은 노드의 ID를 나타냅니다. 그리고 해당 ID의 노드에 부여할 속성을 대괄호 [] 안에 적습니다. 예를 들어 label = "x" 라고 쓰면 노드 안에 x라는 문자가 표시됩니다. color=orange는 노드를 오렌지색으로 그리라는 뜻이고, sstyle=filled는 노드안쪽을 색칠하라는 뜻입니다.

노드 ID는 0이상의 정수이며, 다른 노드와 중복되지 않아야 합니다.

앞에서처럼 터미널에서 dot sample.dot -T png -o sample.png 명령을 실행해보세요. 그러면 [그림 25-2]를 얻을 수 있습니다.



[그림 25-2]처럼 오랜지색 노드가 2개 랜더링되었습니다. 여기에 사각형의 하늘색 노드를 추가해보죠,


digraph g{

1 [label="x", color=orange, style=filled]

2 [label="y", color=orange, style=filled]

3 [label="Exp", color=lightblue, style=filled, shape=box]

}


이와 같이 새로운 노드를 추가하고 속성으로 사각형(box)과 하늘색(lightblue)을 지정합니다. 이 파일로부터는 [그림 25-3]을 얻을 수 있습니다.


원형과 사각형 노드를 그릴 수 있으니, 이것으로 DeZero의 '변수'와 '함수'를 그릴 준비가 끝났습니다. 나머지는 노드들을 화살표로 연결하기만 하면 됩니다.

이책에서는 계산 그패프를 그릴때 변수를 원(타원)으로, 함수를 사각형으로 표현했습니다. 그래서 DOT언어를 사용한 시각화에서도 변수는 원으로, 함수는 사각형으로 그리겠습니다.




댓글 없음: