【matplotlib 实战】--雷达图

这篇具有很好参考价值的文章主要介绍了【matplotlib 实战】--雷达图。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

雷达图(Radar Chart),也被称为蛛网图或星型图,是一种用于可视化多个变量之间关系的图表形式。
雷达图是一种显示多变量数据的图形方法。通常从同一中心点开始等角度间隔地射出三个以上的轴,每个轴代表一个定量变量,各轴上的点依次连接成线或几何图形。

雷达图可以用来在变量间进行对比,或者查看变量中有没有异常值。
雷达图中每个轴的相对位置和角度通常是无信息的。每个变量都具有自己的轴,彼此间的距离相等,所有轴都有相同的刻度。
在将数据映射到这些轴上时,需要注意预先对数值进行标准化处理,保证各个轴之间的数值比例能够做同级别的比较。

1. 主要元素

雷达图的主要元素包括:

  1. 坐标轴:每个变量对应一个射线或轴线,从中心点向外延伸。射线的长度或角度表示该变量的值大小或比例。
  2. 数据点:在每个射线上,根据变量的值确定相应的数据点或标记点的位置。
  3. 雷达链:连接各个数据点或标记点形成的多边形或区域,用于表示多个变量之间的关系。
  4. 区域范围:雷达链所连接的区域,面积大小代表各个数据综合的结果。

【matplotlib 实战】--雷达图

2. 适用的场景

雷达图适用的分析场景包括:

  • 比较综合表现:比较多个实体(如产品、团队、个人等)在多个指标上的表现,帮助决策者了解它们之间的差异和相对优劣。
  • 评估绩效和目标:帮助评估绩效和目标达成情况,从而指导后续决策和改进措施。
  • 变量之间的关系趋势:直观地发现多个变量之间的关系和趋势,例如某个变量的增长是否会导致其他变量的变化。
  • 强调优势和劣势:凸显实体在某些指标上的优势和劣势,有助于决策者更好地了解实体的特点和优势所在。

3. 不适用的场景

雷达图不适用的分析场景有:

  • 无序数据:如果数据是无序的,无法明确确定各个变量之间的相对位置和关系,雷达图的效果会大打折扣。
  • 数据缺失:如果某些变量的数据缺失或不完整,将导致雷达图无法准确地展示各个变量之间的关系和差异。
  • 多个并行路径:当存在多个并行路径时,例如多个团队或产品之间的比较,雷达图可能无法清晰地展示它们之间的差异和相对优劣。

4. 分析实战

本次通过雷达图来分析下王者荣耀KPL联盟几位选手的比赛数据。

4.1. 数据来源

数据来自王者荣耀官网(2023年春季赛数据),整理好的数据可以从下面下载:
https://databook.top/wzry/2023-spring

使用其中的文件:player-2023春季赛.csv

fp = "d:/share/data/player-2023春季赛.csv"

df = pd.read_csv(fp)
df

4.2. 数据清理

选手的数据一共有125条,本来想按胜率选择最高的4位选手,发现胜率高的选手很多只参加了1,2场比赛。
所以选择参加比赛最多6位选手来分析。

data = df.sort_values("比赛场次", ascending=False)
data = data.iloc[:6]
data

选择每位选手下列5个属性来绘制雷达图:

  1. 经济占比
  2. 伤害占比
  3. 承伤占比
  4. 推塔占比
  5. 参团率
filter_cols = ["选手", "经济占比", "伤害占比", "承伤占比", "推塔占比", "参团率"]
data = data.loc[:, filter_cols]
data

【matplotlib 实战】--雷达图

将百分比数据转为数值类型:

for col in filter_cols[1:]:
    data[col] = data[col].str.replace("%", "", regex=False)
    data[col] = data[col].astype("float")

data

【matplotlib 实战】--雷达图

4.3. 分析结果可视化

绘制6位选手的雷达图:

N = 5 # 雷达图属性个数
angles = np.linspace(0, 2 * np.pi, N, endpoint=False)
angles = np.concatenate((angles, [angles[0]]))

fig = plt.figure(figsize=[10, 6])
for i in range(len(data)):
    values = data.iloc[i, 1:].tolist()
    values.append(values[0])

    position = "23" + str(i + 1)
    ax = fig.add_subplot(int(position), polar=True)
    ax.plot(angles, values, "o-")
    ax.fill(angles, values, alpha=0.4)
    ax.set_thetagrids(angles[:-1] * 180 / np.pi,
                      data.columns[1:].tolist())
    ax.set_title(data.iloc[i, 0], color="b")
    ax.set_ylim(0, 100)

plt.subplots_adjust(hspace=0.5)

【matplotlib 实战】--雷达图

参赛最多的6位选手,5位都是佛山DRG的队员,说明他们的首发阵容很稳定。
5个属性连接起来的面积,看起来还是射手打野的比较大,C位果然还是得看这两个位置。文章来源地址https://www.toymoban.com/news/detail-711289.html

到了这里,关于【matplotlib 实战】--雷达图的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • OpenHarmony开发实战:switch、chart组件的使用(JS)

    本篇文章基于switch组件和chart组件,实现线形图、占比图、柱状图,并通过switch切换chart组件数据的动静态显示。要求实现以下功能: 实现静态数据可视化图表。 打开开关,实现静态图切换为动态可视化图表。 相关概念 switch组件:开关选择器,通过开关,开启或关闭某个功

    2024年04月11日
    浏览(65)
  • 【matplotlib 实战】--散点图

    散点图,又名点图、散布图、X-Y图,是将所有的数据以点的形式展现在平面直角坐标系上的统计图表。 散点图常被用于分析变量之间的相关性。 如果两个变量的散点看上去都在一条直线附近波动,则称变量之间是线性相关的; 如果所有点看上去都在某条曲线(非直线)附近

    2024年02月08日
    浏览(28)
  • 【matplotlib 实战】--折线图

    折线图是一种用于可视化数据变化趋势的图表,它可以用于表示任何数值随着时间或类别的变化。 折线图由折线段和折线交点组成,折线段表示数值随时间或类别的变化趋势,折线交点表示数据的转折点。 折线图的方向表示数据的变化方向,即正变化还是负变化,折线的斜

    2024年02月08日
    浏览(29)
  • 【matplotlib 实战】--气泡图

    气泡图是一种多变量的统计图表,可以看作是散点图的变形。 与散点图不同的是,每一个气泡都表示三个维度的数据,除了像散点图一样有X,Y轴,气泡的大小可以表示另一个维度的数据。 例如,x轴表示产品销量,y轴表示产品利润,气泡大小代表产品市场份额百分比。 它可

    2024年02月08日
    浏览(23)
  • 【matplotlib 实战】--热力图

    热力图,是一种通过对色块着色来显示数据的统计图表。 它通过使用颜色编码来表示数据的值,并在二维平面上呈现出来。 热力图通常用于显示大量数据点的密度、热点区域和趋势。 绘图时,一般较大的值由较深的颜色表示,较小的值由较浅的颜色表示;较大的值由偏暖的

    2024年02月08日
    浏览(25)
  • 【matplotlib 实战】--面积图

    面积图,或称区域图,是一种随有序变量的变化,反映数值变化的统计图表。 面积图也可用于多个系列数据的比较。 这时,面积图的外观看上去类似层叠的山脉,在错落有致的外形下表达数据的总量和趋势。 面积图不仅可以清晰地反映出数据的趋势变化,也能够强调不同类

    2024年02月08日
    浏览(27)
  • 【matplotlib 实战】--堆叠面积图

    堆叠面积图和面积图都是用于展示数据随时间变化趋势的统计图表,但它们的特点有所不同。 面积图的特点在于它能够直观地展示数量之间的关系,而且不需要标注数据点,可以轻松地观察数据的变化趋势。而堆叠面积图则更适合展示多个数据系列之间的变化趋势,它们一层

    2024年02月08日
    浏览(37)
  • 【matplotlib 实战】--漏斗图

    漏斗图,形如“漏斗”,用于展示数据的逐渐减少或过滤过程。 它的起始总是最大,并在各个环节依次减少,每个环节用一个梯形来表示,整体形如漏斗。 一般来说,所有梯形的高度应是一致的,这会有助人们辨别数值间的差异。 需要注意的是,漏斗图的各个环节,有逻辑

    2024年02月08日
    浏览(26)
  • 【matplotlib 实战】--柱状图

    柱状图,是一种使用矩形条,对不同类别进行数值比较的统计图表。 在柱状图上,分类变量的每个实体都被表示为一个矩形(通俗讲即为“柱子”),而数值则决定了柱子的高度。 柱状图是一种用长方形柱子表示数据的图表。 它包含三个主要元素: 横轴(x轴):表示数据

    2024年02月08日
    浏览(31)
  • 【matplotlib 实战】--堆叠柱状图

    堆叠柱状图 ,是一种用来分解整体、比较各部分的图。 与柱状图类似,堆叠柱状图常被用于比较不同类别的数值。而且,它的每一类数值内部,又被划分为多个子类别,这些子类别一般用不同的颜色来指代。 柱状图帮助我们观察“总量”,堆叠柱状图则可以同时反映“总量

    2024年02月08日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包