【Python可视化】绘制学生成绩的雷达图

举报
野猪佩奇996 发表于 2022/02/16 00:48:34 2022/02/16
【摘要】 一、雷达图介绍 雷达图,又叫蜘蛛网图、极坐标图。 雷达图相当于平行坐标图,其中轴径向排列。 二、Python代码 栗子:给定某学生的各科成绩,绘制雷达图。 步骤: (1)得到自变量和因变量; (2)...

一、雷达图介绍

雷达图,又叫蜘蛛网图、极坐标图。
雷达图相当于平行坐标图,其中轴径向排列。

二、Python代码

栗子:给定某学生的各科成绩,绘制雷达图。
步骤:
(1)得到自变量和因变量;
(2)需要用angles角度数组,将圆周分为dataLength份,然后【闭合】操作。
(3)设置雷达图参数。

# -*- coding: utf-8 -*-
"""
Created on Mon Feb 14 15:09:43 2022

@author: 86493
"""
import matplotlib.pyplot as plt
import numpy as np
%matplotlib inline
# 某学生的课程与成绩
courses = ['数据结构', '数据可视化', '高数', '英语', '软件工程', '组成原理', 'C语言', '体育']
scores = [82, 95, 78, 85, 45, 88, 76, 88]
dataLength = len(scores)               # 数据长度
# angles数组把圆周等分为dataLength份
angles = np.linspace(0, 2*np.pi, dataLength, endpoint=False)    
courses.append(courses[0])
scores.append(scores[0])
angles = np.append(angles, angles[0])  # 闭合
# 绘制雷达图
plt.polar(angles,              # 设置角度
          scores,            # 设置各角度上的数据
          'rv--',             # 设置颜色、线型和端点符号
          linewidth=2)       # 设置线宽
# 设置角度网格标签
plt.thetagrids(angles*180/np.pi, courses, fontproperties='simhei', fontsize=12)
# 填充雷达图内部
plt.fill(angles, scores, facecolor='r', alpha=0.2)
plt.show()

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28

在这里插入图片描述
由上图可视化结果得到,“数据可视化”成绩高分,“软件工程”这门课较低分, 能够很好地横向对比,看到哪科偏科。

文章来源: andyguo.blog.csdn.net,作者:山顶夕景,版权归原作者所有,如需转载,请联系作者。

原文链接:andyguo.blog.csdn.net/article/details/122925314

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。