Matplotlib 및 networkx를 사용하여 방향성 그래프를 그리는 Python 코드를 작성합니다. 예시 데이터를 사용하여 코드를 사용하는 방법을 보여줍니다. 필요한 모든 import 문을 포함하세요.
응답
importmatplotlib.pyplotaspltimportnetworkxasnx# Example data: a directed graph with nodes and edgesnodes=['A','B','C','D','E']edges=[('A','B'),('A','C'),('B','D'),('C','E'),('D','E')]# Create a directed graph objectgraph=nx.DiGraph()# Add nodes to the graphgraph.add_nodes_from(nodes)# Add edges to the graphgraph.add_edges_from(edges)# Draw the graph using matplotlibnx.draw(graph,with_labels=True,node_color='lightblue',node_size=500,font_size=10,arrowsize=20)# Display the graphplt.show()
설명:
필요한 라이브러리 가져오기:
그래프를 표시하기 위한 matplotlib.pyplot
그래프를 만들고 조작하기 위한 networkx
예시 데이터 정의:
nodes: 노드 이름의 목록
edges: 각 튜플이 있는 방향성 에지를 나타내는 튜플 목록(소스 노드, 타겟 노드)
방향 그래프 객체 만들기:
graph = nx.DiGraph(): 빈 지향 그래프 객체를 만듭니다.
노드 및 에지 추가:
graph.add_nodes_from(nodes): nodes 목록의 모든 노드를 그래프에 추가합니다.
graph.add_edges_from(edges): edges 목록의 모든 에지를 그래프에 추가합니다.
그래프 그리기:
nx.draw(graph, ...): Matplotlib을 사용하여 그래프를 그립니다.
with_labels=True: 노드 라벨을 표시합니다.
node_color='lightblue': 노드 색상을 연한 파란색으로 설정합니다.
node_size=500: 노드 크기를 설정합니다.
font_size=10: 라벨의 글꼴 크기를 설정합니다.
arrowsize=20: 가장자리의 화살표 크기를 설정합니다.
그래프 표시:
plt.show(): 표시된 그래프를 보여줍니다.
출력:
이 코드는 지정된 노드와 에지로 방향 그래프 시각화를 생성합니다. 노드는 라벨이 지정되고 연한 파란색으로 표시되며, 에지의 방향을 나타내는 화살표로 연결됩니다.