酷代码 AI
菜单
服务商

2.数据可视化(20分) 1)(10分)在一个图窗中创建两个子图: 子图1:绘制所有学生数学成绩的柱状图。标题为“学生数学成绩分布”,x轴为“学生学号”,y轴为“分数”。 子图2:绘制所有学生三门课程平均分的三维饼图,标题为“三门课程平均分”,显示每门课程对总平均分的贡献百分比,数学成绩(math)平均分在饼图中分离显示,并添加图例。

以下是根据你的需求完成数据可视化的 MATLAB 代码: ```matlab % 前面创建表格和转换数组的部分省略,这里直接使用已定义好的变量math_scores和average_scores % 1)在一个图窗中创建两个子图 figure; % 子图1:绘制所有学生数学成绩的柱状图 subplot(2, 1, 1); bar(T.ID, math_scores); title('学生数学成绩分布'); xlabel('学生学号'); ylabel('分数'); % 子图2:绘制所有学生三门课程平均分的三维饼图 % 假设我们只考虑 Math, Physics, Programming 三门课程 average_scores_three_courses = average_scores(1:3); explode = [1, 0, 0]; % 分离数学成绩平均分 % 计算百分比并转换为字符串用于显示 total_average = sum(average_scores_three_courses); percentage = average_scores_three_courses / total_average * 100; labels = compose('%.2f%%', percentage); pie3(average_scores_three_courses, explode, labels); title('三门课程平均分'); legend({ '数学', '物理', '编程' }, 'Location', 'southoutside'); ``` 代码解释 1. 创建图窗和子图:使用 `figure` 函数创建一个新的图窗,接着用 `subplot(2, 1, 1)` 划分出两个子图,先对第一个子图进行操作。 2. 子图 1 - 学生数学成绩柱状图:利用 `bar` 函数绘制柱状图,x 轴为学生学号(`T.ID`),y 轴为数学成绩(`math_scores`)。随后使用 `title`、`xlabel` 和 `ylabel` 分别为图形添加、x 轴标签和 y 轴标签。 3. 子图 2 - 三门课程平均分三维饼图 - 选取三门课程(`Math`、`Physics`、`Programming`)的平均分存储在 `average_scores_three_courses` 中。 - `explode` 数组用于将数学成绩平均分从饼图中分离显示。 - 计算每门课程平均分占总平均分的百分比,并转换为字符串存储在 `labels` 中。 - 使用 `pie3` 函数绘制三维饼图,并将百分比显示在相应的扇形上。 - 用 `title` 为饼图添加,使用 `legend` 添加图例,注明每部分代表的课程。 注意,上述代码中是基于前面代码创建好的表格 `T`、数学成绩数组 `math_scores` 和平均分数组 `average_scores` 进行操作的。如果你还没有运行前面的代码,需要先运行创建数据的部分。 [2025-12-26 09:08:39 | AI问答 | 632点数解答]

相关提问
发财导航,免费问AI
实用工具查看更多