ValueError: s must be a scalar, or float array-like with the same size as x and y
networkx로 네트워크 그래프를 그리는 상황.
그래프를 그리는 과정에서 발생
nx.draw_networkx_nodes
node_sizes length와 G number of nodes 길이의 불일치
print("node_sizes length:", len(node_sizes))
print("G number of nodes:", len(G.nodes))
for node, size in zip(G.nodes, node_sizes):
if size <= 0:
print("Invalid node size detected:", node, size)
# related_words 딕셔너리의 키 값들과 G 그래프의 노드들을 확인
related_words_keys = set(related_words.keys())
graph_nodes = set(G.nodes())
print("Missing nodes in graph:", related_words_keys - graph_nodes)
print("Extra nodes in graph:", graph_nodes - related_words_keys)
# related_words 딕셔너리에서 빈도수가 0인 단어들을 확인
zero_frequency_words = [word for word, freq in related_words.items() if freq == 0]
print("Words with zero frequency:", zero_frequency_words)
# related_words 딕셔너리의 길이와 G 그래프의 노드 수 확인
print("Length of related_words:", len(related_words))
print("Number of nodes in G graph:", G.number_of_nodes())
1. Extra nodes in graph
2. Missing nodes in graph
3. Words with zero frequency
4. Length of related_words
5. Number of nodes in G graph
1. Extra nodes in graph
# 노드 제거 코드
unnecessary_nodes = [node for node in G.nodes() if node not in related_words.keys()]
G.remove_nodes_from(unnecessary_nodes)
# 제거 확인 코드
if len(G.nodes()) != len(node_sizes):
print("Mismatch between graph nodes and node_sizes")
2. Missing nodes in graph
# 누락된 노드 추가
missing_nodes = [node for node in related_words.keys() if node not in G.nodes()]
G.add_nodes_from(missing_nodes)
# 추가 확인
if set(G.nodes()) != set(related_words.keys()):
print("Mismatch between graph nodes and related_words")
3. Words with zero frequency
words_with_zero_frequency = set(G.nodes()) - set(related_words.keys())
print("Words with zero frequency:", words_with_zero_frequency)
# 빈도수가 0인 단어를 제외한 related_words 추출
non_zero_words = {word: count for word, count in related_words.items() if count > 0}
4. Length of related_words
if len(related_words) != len(G.nodes()):
print("Mismatch between length of related_words and number of nodes in G graph")
5. Number of nodes in G graph
# 빈도수가 0인 단어를 제외한 related_words 추출
non_zero_words = {word: count for word, count in related_words.items() if count > 0}
# 그래프의 노드와 크기(node_sizes) 간의 일치 확인
if len(G.nodes()) != len(node_sizes):
print("Mismatch between graph nodes and node_sizes")
# 그래프의 노드와 빈도수(non_zero_words) 간의 일치 확인
if set(G.nodes()) != set(non_zero_words.keys()):
print("Mismatch between graph nodes and non_zero_words")