Open Wonsoox opened 3 weeks ago
# 학년 노드 추가 non_empty_positions = [max(y_values) for y_values in adjusted_pos.values() if y_values] max_y = max(non_empty_positions) if non_empty_positions else 0 for grade in range(1, 5): G.add_node(f"{grade}학년", pos=(grade, max_y - 0.1)) pos = nx.get_node_attributes(G, 'pos') for grade in range(1, 5): x, y = pos[f"{grade}학년"] bbox_props = dict(boxstyle=f"round,pad=0.5", ec='black', lw=2, facecolor='white') plt.text(x, y, f"{grade}학년", fontsize=18, ha='center', va='center', fontweight='bold', bbox=bbox_props) # 학기 노드 추가 max_x = max([x for x, y in pos.values()]) - 3.85 min_y = min([y for x, y in pos.values()]) max_y = max([y for x, y in pos.values()]) y_range = max_y - min_y semester_positions = [min_y + y_range * 0.33, min_y + y_range * 0.85] for semester in range(1, 3): G.add_node(f"{semester}학기", pos=(max_x, semester_positions[semester - 1])) pos = nx.get_node_attributes(G, 'pos') for semester in range(1, 3): x, y = pos[f"{semester}학기"] bbox_props = dict(boxstyle=f"round,pad=0.5", ec='black', lw=2, facecolor='white') plt.text(x, y, f"{semester}학기", fontsize=18, ha='center', va='center', fontweight='bold', bbox=bbox_props)
현재 학기최상단 노드를 구현하는 코드입니다. 기존의 구현 내용을 개조하여 넣었습니다. 하지만 너무 길고 복잡합니다. 학기 최상단에 위치하는 학년 노드들은 저렇게 구현하지 않아도 됩니다. 이것을 개선해야합니다.
실제로 연산을 거친 좌표 연산과정은 외부환경요인에 따라 노드가 밀리는 결과를 초래합니다. 그래서, 외부요인에 따라 동적으로 변하지 않는 요인들은 연산으로 좌표를 지정하면안됩니다.
현재 학기최상단 노드를 구현하는 코드입니다. 기존의 구현 내용을 개조하여 넣었습니다. 하지만 너무 길고 복잡합니다. 학기 최상단에 위치하는 학년 노드들은 저렇게 구현하지 않아도 됩니다. 이것을 개선해야합니다.