[javascript] Cytoscape.js에서 그래프의 서브그래프를 생성하는 방법은 무엇인가요?

아래는 Cytoscape.js를 사용하여 그래프의 서브그래프를 생성하는 간단한 예제입니다.

// Cytoscape.js 인스턴스 생성
var cy = cytoscape({
  container: document.getElementById('cy'),

  elements: [
    // 그래프의 루트 노드들을 추가합니다
    { data: { id: 'A' } },
    { data: { id: 'B' } },
    { data: { id: 'C' } },
    { data: { id: 'D' } },

    // 서브그래프 내의 노드들을 추가합니다.
    { data: { id: 'X' }, parent: 'A' },
    { data: { id: 'Y' }, parent: 'A' },
    { data: { id: 'Z' }, parent: 'A' },
  ],

  style: [
    // 노드와 엣지의 스타일을 지정합니다.
    {
      selector: 'node',
      style: {
        'background-color': 'green',
        'label': 'data(id)'
      }
    },

    {
      selector: 'edge',
      style: {
        'width': 3,
        'line-color': 'gray'
      }
    }
  ],

  layout: {
    name: 'breadthfirst' // 그래프의 노드 배치 알고리즘
  }
});

위 예제에서, ‘A’ 노드는 루트 노드이고, ‘X’, ‘Y’, ‘Z’ 노드는 ‘A’ 노드의 자식 노드입니다. parent 속성을 통해 노드를 서브그래프의 부모 노드에 연결할 수 있습니다. 스타일을 지정하기 위해 CSS 선택자를 사용하여 노드와 엣지를 스타일링할 수 있습니다.

Cytoscape.js를 사용하는 동안 더 자세한 기능과 옵션에 대해서는 공식 문서를 참조하십시오.