如何用matplotlib绘制学生课程分数长尾词雷达图?

2026-04-03 01:471阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计481个文字,预计阅读时间需要2分钟。

如何用matplotlib绘制学生课程分数长尾词雷达图?

可视化模拟学生课程分数的雷达成图

pythonimport matplotlib.pyplot as pltimport numpy as np

plt.rcParams['font.sans-serif']=['K']plt.title('学生课程分数雷达图')plt.xlabel('课程')plt.ylabel('分数')

假设学生分数数据scores=np.array([90, 85, 75, 88, 92])

课程标签subjects=['数学', '语文', '英语', '物理', '化学']

绘制雷达图angles=np.linspace(0, 2 * np.pi, len(subjects), endpoint=False)angles=np.append(angles, angles[0])

如何用matplotlib绘制学生课程分数长尾词雷达图?

fig, ax=plt.subplots(figsize=(6, 6), subplot_kw=dict(polar=True))ax.plot(angles, scores)ax.fill(angles, scores, alpha=0.25)

添加课程标签ax.set_thetagrids([angle * 180 / np.pi for angle in angles[:-1]], subjects)

plt.show()

可视化模拟学生课程分数雷达图importmatplotlib.pyplotaspltimportnumpyasnpplt.rcParams[font.sans-serif][K

可视化模拟学生课程分数雷达图

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()

效果图如下

本文共计481个文字,预计阅读时间需要2分钟。

如何用matplotlib绘制学生课程分数长尾词雷达图?

可视化模拟学生课程分数的雷达成图

pythonimport matplotlib.pyplot as pltimport numpy as np

plt.rcParams['font.sans-serif']=['K']plt.title('学生课程分数雷达图')plt.xlabel('课程')plt.ylabel('分数')

假设学生分数数据scores=np.array([90, 85, 75, 88, 92])

课程标签subjects=['数学', '语文', '英语', '物理', '化学']

绘制雷达图angles=np.linspace(0, 2 * np.pi, len(subjects), endpoint=False)angles=np.append(angles, angles[0])

如何用matplotlib绘制学生课程分数长尾词雷达图?

fig, ax=plt.subplots(figsize=(6, 6), subplot_kw=dict(polar=True))ax.plot(angles, scores)ax.fill(angles, scores, alpha=0.25)

添加课程标签ax.set_thetagrids([angle * 180 / np.pi for angle in angles[:-1]], subjects)

plt.show()

可视化模拟学生课程分数雷达图importmatplotlib.pyplotaspltimportnumpyasnpplt.rcParams[font.sans-serif][K

可视化模拟学生课程分数雷达图

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()

效果图如下