可视化模拟学生课程分数雷达图
import matplotlib.pyplot as pltimport numpy as npplt.rcParams[font.sans-serif] [KaiTi]plt.rcParams[axes.unicode_minus]False#某学生的课程与成绩courses [C,Python,高数,大学英语,软件工程,组成原理,数字图像处理,计算机图形学]scores [80,95,78,85,45,65,80,60]dataLength len(scores) #数据长度#angles数组把圆周等分为dataLength份# np.linspace方法在[start, stop, num]范围内计算返回num个(默认为50)均匀间隔的样本。angles np.linspace(0, #数组第一个数据2*np.pi, #数组最后一个数据dataLength, #数组中数据数量endpointFalse) #不包含终点scores.append(scores[0]) #分数列表首尾就是一样的print(angles,scores)# np.append返回一个新数组要使用变量接收angles np.append(angles,angles[0])#闭合数组的第一个点和最后一个点是重合了print(angles)#绘制雷达图 弧度plt.polar(angles, #确定顶点的角度scores, #设置各角度上的数据rv--, #设置颜色、线型和端点linewidth2) #设置线宽#设置角度网格标签 在每一个角度对应的位置显示课程的名称plt.thetagrids(angles*180/np.pi,courses)#填充雷达图内部plt.fill(angles,scores,facecolorr,alpha0.3)plt.show()
效果图如下