Python是一門廣泛應用于數據分析、機器學習等領域的編程語言,其優雅的語法和豐富的庫使其成為了科學計算領域的重要工具。其中,雷達距離圖就是一個很好的展示數據的工具。
雷達距離圖又稱為雷達圖或蜘蛛網圖,通過將多個變量的數值在同一張圖上展示,以便于比較不同變量之間的關系和趨勢。其中,每個變量的數值范圍在0到1之間,數據越接近中心點,表示該變量對整體數據的影響越小。
import numpy as np import matplotlib.pyplot as plt variables = ['A', 'B', 'C', 'D', 'E'] values = [0.6, 0.3, 0.8, 0.2, 0.5] def plot_radar_chart(variables, values): N = len(variables) angles = [n / float(N) * 2 * np.pi for n in range(N)] fig, ax = plt.subplots(subplot_kw=dict(projection='polar')) ax.set_theta_offset(np.pi / 2) ax.set_theta_direction(-1) plt.xticks(angles, variables) ax.set_rlabel_position(0) plt.yticks([0.2, 0.4, 0.6, 0.8], ["0.2", "0.4", "0.6", "0.8"], color="grey", size=7) plt.ylim(0, 1) values += values[:1] angles += angles[:1] ax.plot(angles, values, linewidth=1, linestyle='solid') ax.fill(angles, values, 'b', alpha=0.1) plt.show() plot_radar_chart(variables, values)
在上述代碼中,numpy庫和matplotlib.pyplot庫被引入。
plot_radar_chart()函數中,五個變量的名稱和數值被作為參數傳入,并在函數體內計算出各個變量對應的角度。在plt.subplots()命令中定義了極坐標軸,將theta_offset設置為π / 2,使數據從正上方開始順時針排列,將theta_direction設置為-1,使其順時針旋轉。
在函數體中,各個變量所處的角度和變量的名稱被用xticks()命令添加到極坐標軸圖中,并使用set_rlabel_position(0)將刻度標簽移到雷達圖的最外面。接下來,使用fill()命令填充圖形,使用plot()命令繪制出雷達圖。最后,使用show()命令在Matplotlib圖形窗口中顯示圖形。
通過以上的代碼和解釋,我們可以使用Python編寫出自己的雷達距離圖來展示數據呈現出的各個變量關系。