欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Matplotlib實(shí)戰(zhàn)之玫瑰圖繪制詳解

 更新時(shí)間:2023年08月25日 09:35:29   作者:databook  
南丁格爾玫瑰圖是一種用極坐標(biāo)下的柱狀圖或堆疊柱狀圖來展示數(shù)據(jù)的圖表,下面我們就來介紹一下如何使用Matplotlib繪制南丁格爾玫瑰圖,需要的可以參考下

南丁格爾玫瑰圖是一種用極坐標(biāo)下的柱狀圖或堆疊柱狀圖來展示數(shù)據(jù)的圖表。

雖然南丁格爾玫瑰圖外觀類似餅圖,但是表示數(shù)據(jù)的方式不同,它是以半徑來表示數(shù)值的,而餅圖是以扇形的弧度來表達(dá)數(shù)據(jù)的。

所以,南丁格爾玫瑰圖在視覺上會(huì)夸大數(shù)據(jù)的比例,因?yàn)榘霃胶兔娣e之間是平方關(guān)系。

因此,當(dāng)需要對(duì)比非常相近的數(shù)值時(shí),適當(dāng)?shù)目浯笥兄趨^(qū)分?jǐn)?shù)據(jù),但在追求數(shù)據(jù)準(zhǔn)確性時(shí),玫瑰圖可能不是最佳選擇。

據(jù)說,南丁格爾玫瑰圖由統(tǒng)計(jì)學(xué)家和醫(yī)學(xué)改革家佛羅倫薩?南丁格爾在克里米亞戰(zhàn)爭期間創(chuàng)造,用于反映軍醫(yī)院的季節(jié)性死亡率,從而推動(dòng)醫(yī)院條件的改善。

1. 主要元素

南丁格爾玫瑰圖的主要元素包括:

  • 扇形:每個(gè)扇形代表一個(gè)類別或分組,其面積大小表示該類別或分組的數(shù)值大小。
  • 半徑軸:扇形的半徑表示數(shù)據(jù)的大小,半徑越長表示數(shù)值越大。
  • 圖例:圖例是餅圖的一部分,用于解釋每個(gè)餅片所代表的含義,幫助觀察者理解圖表。
  • 標(biāo)簽:可在每個(gè)扇形上方或內(nèi)部添加標(biāo)簽,標(biāo)注該類別或分組的名稱或數(shù)值,幫助人們更好地理解數(shù)據(jù)。

2. 適用的場景

南丁格爾玫瑰圖適用的場景包括:

  • 數(shù)據(jù)分布比較:比較不同類別或分組之間的數(shù)據(jù)分布情況,例如比較不同產(chǎn)品的銷售量或不同地區(qū)的人口分布。
  • 百分比展示:展示各類別或分組所占的百分比大小,特別適用于展示相對(duì)比例的數(shù)據(jù)。
  • 強(qiáng)調(diào)特定數(shù)據(jù):通過扇形的面積和顏色等元素使其更加顯眼和易于被注意到。
  • 增強(qiáng)視覺吸引力:南丁格爾玫瑰圖具有獨(dú)特的視覺效果,可以吸引觀眾的注意力,適用于需要突出表達(dá)的場合。

3. 不適用的場景

南丁格爾玫瑰圖不適用的場景包括:

  • 連續(xù)數(shù)據(jù)分布:南丁格爾玫瑰圖適用于展示離散的數(shù)據(jù)分布情況,不適用于展示連續(xù)數(shù)據(jù)的分布情況,例如時(shí)間序列數(shù)據(jù)。
  • 多變量比較:如果需要比較多個(gè)變量之間的關(guān)系,南丁格爾玫瑰圖可能不夠直觀和有效。
  • 大量數(shù)據(jù)展示:如果數(shù)據(jù)量過大,可能會(huì)導(dǎo)致扇形過小,難以辨認(rèn)和理解。
  • 數(shù)據(jù)精確度要求高:南丁格爾玫瑰圖的可視化效果更多地強(qiáng)調(diào)數(shù)據(jù)分布的趨勢(shì)和相對(duì)大小,不適合展示具有高精確度要求的數(shù)據(jù)。

4. 分析實(shí)戰(zhàn)

本次使用 王者榮耀KPL 2023年春季賽的數(shù)據(jù),分析各個(gè)戰(zhàn)隊(duì)的排名和勝率。

4.1. 數(shù)據(jù)來源

數(shù)據(jù)來自王者榮耀官方網(wǎng)站,整理好的數(shù)據(jù)下載地址:databook.top/wzry/2023-spring

本次分析使用其中 各個(gè)戰(zhàn)隊(duì)的相關(guān)數(shù)據(jù):league-2023春季賽.csv

fp = "d:/share/data/league-2023春季賽.csv"
df = pd.read_csv(fp)
df

4.2. 數(shù)據(jù)清理

原始數(shù)據(jù)中,字段比較多,提取前10名的戰(zhàn)隊(duì),用南丁格爾玫瑰圖分析其勝率情況。

key = "勝率"
data = df.sort_values("排名")
data = data.reset_index()
#提取前10名,只保留 戰(zhàn)隊(duì) 和 勝率 2個(gè)字段
data = data.loc[:9, ["戰(zhàn)隊(duì)", key]]
#勝率字段轉(zhuǎn)換為 float 類型
data[key] = data[key].str.replace("%", "")
data[key] = data[key].astype("float")
data

4.3. 分析結(jié)果可視化

matplotlib 中沒有提供專門繪制南丁格爾玫瑰圖的接口,我們可以用極坐標(biāo)系下的柱狀圖來模擬。

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)
    # 每個(gè)數(shù)據(jù)的角度
    angle = np.linspace(0, 2 * np.pi, n, endpoint=False)
    # 繪制用到的數(shù)據(jù)
    radius = np.array(data[key].tolist())
    ax.yaxis.set_major_locator(plt.NullLocator())
    # x軸刻度顯示戰(zhàn)隊(duì)名稱
    ax.set_xticks(angle, data["戰(zhàn)隊(duì)"])
    # 中間空出一個(gè)孔
    ax.set_ylim(-10, max(data[key]))
    ax.bar(angle, radius, color=plt.cm.tab10.colors, width=0.62)

從分析結(jié)果可以看出,第一名重慶狼隊(duì)的勝率明顯高出其他的戰(zhàn)隊(duì),而其他戰(zhàn)隊(duì)的勝率差別不大。

說明目前 王者榮耀KPL聯(lián)盟中,各個(gè)戰(zhàn)隊(duì)的實(shí)力比較接近,比賽會(huì)非常精彩。

到此這篇關(guān)于Matplotlib實(shí)戰(zhàn)之玫瑰圖繪制詳解的文章就介紹到這了,更多相關(guān)Matplotlib玫瑰圖內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論