[javascript] Cytoscape.js에서 그래프의 노드와 엣지를 추가 또는 제거하여 동적으로 그래프를 변경하는 방법은 무엇인가요?
// 그래프 요소를 담을 컨테이너 생성
var container = document.getElementById('cy');

// 그래프 인스턴스 생성
var cy = cytoscape({
  container: container,
  elements: [
    // 초기 그래프 요소 설정
    { data: { id: 'node1' } },
    { data: { id: 'node2' } },
    { data: { id: 'edge1', source: 'node1', target: 'node2' } }
  ],
  style: [
    // 그래프 요소의 스타일 설정
    {
      selector: 'node',
      style: {
        'background-color': 'red',
        'label': 'data(id)'
      }
    },
    {
      selector: 'edge',
      style: {
        'line-color': 'blue',
        'target-arrow-color': 'blue',
        'target-arrow-shape': 'triangle'
      }
    }
  ]
});

// 새로운 노드 추가
cy.add({ data: { id: 'node3' } });

// 새로운 엣지 추가
cy.add({ data: { id: 'edge2', source: 'node2', target: 'node3' } });

// 노드와 엣지 제거
cy.remove('node1');
cy.remove('edge1');

위의 예제에서는 Cytoscape.js를 사용하여 그래프를 생성하고 초기 그래프 요소를 설정합니다. 그런 다음 add() 메소드를 사용하여 새로운 노드와 엣지를 추가합니다. remove() 메소드를 사용하여 특정 노드와 엣지를 제거할 수도 있습니다.

이 예제는 간단한 그래프 변경 방법을 보여줍니다. Cytoscape.js에는 다양한 기능과 옵션이 있어서 좀 더 복잡한 그래프를 만들고 변경할 수 있습니다. Cytoscape.js 공식 문서를 참조하면 더 자세한 내용을 확인할 수 있습니다.