Python是一種高級編程語言,它非常適合用于繪制完全圖。完全圖是指具有$n$個節點和$\dfrac{n(n-1)}{2}$條邊的簡單無向圖。
使用Python的matplotlib庫可以輕松地繪制完全圖。下面是繪制$n=5$完全圖的示例代碼:
import matplotlib.pyplot as plt n = 5 coordinates = [(i, j) for i in range(n) for j in range(i)] edges = [(i, j) for i in range(n) for j in range(i)] fig, ax = plt.subplots() for edge in edges: ax.plot([coordinates[edge[0]][0], coordinates[edge[1]][0]], [coordinates[edge[0]][1], coordinates[edge[1]][1]], 'b') for i, coord in enumerate(coordinates): ax.text(coord[0], coord[1], str(i), fontsize=12, ha='center', va='center', bbox=dict(facecolor='w', edgecolor='none', alpha=0.7)) plt.axis('equal') plt.axis('off') plt.show()
首先,定義了$n=5$和節點的坐標和邊的列表。對于節點的坐標,使用了一個列表推導式。對于邊的列表,使用了兩個列表推導式。其中,第一個列表推導式是在節點之間生成所有可能的無序邊,第二個列表推導式是為了過濾出重復的邊。
接下來,通過調用matplotlib的subplot()函數創建了一個子圖對象,并使用for循環遍歷邊,繪制一條藍色線。然后使用另一個for循環來在每個節點上繪制一個文本標簽,這個標簽顯示節點的編號。還使用bbox參數來指定標簽的白色背景,使得標簽更加易讀。
最后,使用axis()函數來設置圖形的外觀,并使用show()函數顯示完全圖。