南丁格爾玫瑰圖是一種用極坐標下的柱狀圖或堆疊柱狀圖來展示數據的圖表。 雖然南丁格爾玫瑰圖外觀類似餅圖,但是表示數據的方式不同,它是以半徑來表示數值的,而餅圖是以扇形的弧度來表達數據的。 所以,南丁格爾玫瑰圖在視覺上會誇大數據的比例,因為半徑和麵積之間是平方關係。因此,當需要對比非常相近的數值時,適當 ...
南丁格爾玫瑰圖是一種用極坐標下的柱狀圖或堆疊柱狀圖來展示數據的圖表。
雖然南丁格爾玫瑰圖外觀類似餅圖,但是表示數據的方式不同,它是以半徑來表示數值的,
而餅圖是以扇形的弧度來表達數據的。
所以,南丁格爾玫瑰圖在視覺上會誇大數據的比例,因為半徑和麵積之間是平方關係。
因此,當需要對比非常相近的數值時,適當的誇大有助於區分數據,但在追求數據準確性時,玫瑰圖可能不是最佳選擇。
據說,南丁格爾玫瑰圖由統計學家和醫學改革家佛羅倫薩‧南丁格爾在克裡米亞戰爭期間創造,
用於反映軍醫院的季節性死亡率,從而推動醫院條件的改善。
1. 主要元素
南丁格爾玫瑰圖的主要元素包括:
- 扇形:每個扇形代表一個類別或分組,其面積大小表示該類別或分組的數值大小。
- 半徑軸:扇形的半徑表示數據的大小,半徑越長表示數值越大。
- 圖例:圖例是餅圖的一部分,用於解釋每個餅片所代表的含義,幫助觀察者理解圖表。
- 標簽:可在每個扇形上方或內部添加標簽,標註該類別或分組的名稱或數值,幫助人們更好地理解數據。
2. 適用的場景
南丁格爾玫瑰圖適用的場景包括:
- 數據分佈比較:比較不同類別或分組之間的數據分佈情況,例如比較不同產品的銷售量或不同地區的人口分佈。
- 百分比展示:展示各類別或分組所占的百分比大小,特別適用於展示相對比例的數據。
- 強調特定數據:通過扇形的面積和顏色等元素使其更加顯眼和易於被註意到。
- 增強視覺吸引力:南丁格爾玫瑰圖具有獨特的視覺效果,可以吸引觀眾的註意力,適用於需要突出表達的場合。
3. 不適用的場景
南丁格爾玫瑰圖不適用的場景包括:
- 連續數據分佈:南丁格爾玫瑰圖適用於展示離散的數據分佈情況,不適用於展示連續數據的分佈情況,例如時間序列數據。
- 多變數比較:如果需要比較多個變數之間的關係,南丁格爾玫瑰圖可能不夠直觀和有效。
- 大量數據展示:如果數據量過大,可能會導致扇形過小,難以辨認和理解。
- 數據精確度要求高:南丁格爾玫瑰圖的可視化效果更多地強調數據分佈的趨勢和相對大小,不適合展示具有高精確度要求的數據。
4. 分析實戰
本次使用 王者榮耀KPL 2023年春季賽的數據,分析各個戰隊的排名和勝率。
4.1. 數據來源
數據來自王者榮耀官方網站,整理好的數據下載地址:
https://databook.top/wzry/2023-spring
本次分析使用其中 各個戰隊的相關數據:league-2023春季賽.csv
fp = "d:/share/data/league-2023春季賽.csv"
df = pd.read_csv(fp)
df
4.2. 數據清理
原始數據中,欄位比較多,提取前10名的戰隊,用南丁格爾玫瑰圖分析其勝率情況。
key = "勝率"
data = df.sort_values("排名")
data = data.reset_index()
#提取前10名,只保留 戰隊 和 勝率 2個欄位
data = data.loc[:9, ["戰隊", key]]
#勝率欄位轉換為 float 類型
data[key] = data[key].str.replace("%", "")
data[key] = data[key].astype("float")
data
4.3. 分析結果可視化
matplotlib
中沒有提供專門繪製南丁格爾玫瑰圖的介面,我們可以用極坐標系下的柱狀圖來模擬。
with plt.style.context("seaborn-v0_8"):
fig = plt.figure()
ax = fig.add_axes([0.1, 0.1, 1, 1], polar=True)
ax.set_theta_offset(np.pi/2)
ax.set_theta_direction(-1)
ax.set_rlabel_position(0)
n = len(data)
# 每個數據的角度
angle = np.linspace(0, 2 * np.pi, n, endpoint=False)
# 繪製用到的數據
radius = np.array(data[key].tolist())
ax.yaxis.set_major_locator(plt.NullLocator())
# x軸刻度顯示戰隊名稱
ax.set_xticks(angle, data["戰隊"])
# 中間空出一個孔
ax.set_ylim(-10, max(data[key]))
ax.bar(angle, radius, color=plt.cm.tab10.colors, width=0.62)
從分析結果可以看出,第一名重慶狼隊的勝率明顯高出其他的戰隊,而其他戰隊的勝率差別不大。
說明目前 王者榮耀KPL聯盟中,各個戰隊的實力比較接近,比賽會非常精彩。