弦圖是一種數據可視化圖表,它可以顯示多個變量之間的關系。Python是一種非常流行的編程語言,可以用來繪制各種類型的圖表,包括弦圖。在Python中,我們可以使用D3.js庫來創建弦圖。D3.js是一個JavaScript庫,用于創建交互式數據可視化。
import matplotlib.pyplot as plt import numpy as np # 設置弧度和標簽 categories = ['部門A', '部門B', '部門C', '部門D', '部門E'] colors = ['#E69F00', '#56B4E9', '#F0E442', '#009E73', '#D55E00'] # 創建弧度 N = len(categories) angles = [i * 2 * np.pi / N for i in range(0, N)] angles += angles[:1] # 創建圖表 ax = plt.subplot(111, polar=True) # 添加角度 plt.xticks(angles[:-1], categories, color='black', size=12) # 設置刻度 ax.set_rlabel_position(0) plt.yticks([20, 40, 60, 80], ["20", "40", "60", "80"], color="grey", size=10) plt.ylim(0, 100) # 添加弦圖的數據 values = [[80, 70, 30, 40, 20], [60, 20, 80, 50, 45], [20, 90, 40, 20, 70], [40, 50, 60, 30, 40], [10, 20, 60, 90, 30]] # 循環添加線條和標簽 for i in range(len(values)): values_row = values[i] values_row += values_row[:1] ax.plot(angles, values_row, linewidth=1, linestyle='solid', label=categories[i], color=colors[i]) ax.fill(angles, values_row, colors[i], alpha=0.1) # 讀取值 plt.legend(bbox_to_anchor=(0, 1.4)) plt.show()
在上面的代碼中,我們首先定義了要在弦圖中使用的變量。接下來,我們創建了弧度,并使用它來設置角度。我們還定義了標簽,并將它們用作刻度標簽。接下來,我們定義了要在弦圖中使用的數據。我們循環遍歷每個數據行,并為其添加線條和標簽。最后,我們添加圖例并顯示圖表。
通過使用Python和D3.js,我們可以輕松地創建弦圖,并可視化多個變量之間的關系。