[javascript] Chart.js에서의 네트워크 그래프 시각화

네트워크 데이터를 시각화하는데 가장 많이 사용되는 라이브러리 중 하나는 Chart.js입니다. Chart.js는 HTML5 Canvas를 기반으로 하여 다양한 종류의 그래프를 그릴 수 있는 JavaScript 라이브러리입니다.

네트워크 그래프는 노드(Node)와 엣지(Edge)로 구성됩니다. 각 노드는 그래프 상에서 하나의 점을 나타내고, 엣지는 노드 간의 관계를 나타냅니다.

우선 Chart.js를 설치하기 위해 다음 명령어를 사용해보세요:

npm install chart.js

그리고 HTML 파일에 다음과 같이 Chart.js 스크립트를 추가해주세요:

<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>

이제 네트워크 그래프를 그려보겠습니다. Chart.js는 다양한 종류의 그래프를 지원하므로, type 속성을 "network"로 설정하여 네트워크 그래프를 생성할 수 있습니다.

var ctx = document.getElementById('networkChart').getContext('2d');
var networkChart = new Chart(ctx, {
    type: 'network',
    data: {
        datasets: [{
            data: [{
                id: 'node1',
                x: 100,
                y: 100,
            }, {
                id: 'node2',
                x: 200,
                y: 200,
            }],
            edges: [{
                from: 'node1',
                to: 'node2',
            }],
        }],
    },
    options: {
        // 그래프 옵션 설정
    },
});

data 속성에는 노드와 엣지의 정보를 배열 형태로 넣어줍니다. 각 노드는 id, x, y 등의 속성을 가지며, 엣지는 fromto 속성으로 노드의 연결을 정의합니다. 이와 같이 데이터를 설정한 후, options 속성에서 그래프의 세부적인 옵션을 설정할 수 있습니다.

위의 예제 코드에서는 Chart.js의 네트워크 그래프를 생성하는 간단한 방법을 알아보았습니다. Chart.js의 다양한 옵션을 사용하여 그래프의 모양과 스타일을 자유롭게 커스터마이즈할 수 있으니, 필요에 따라 공식 문서를 참고해보시길 바랍니다.

참고 자료