自制成绩表绘制箱型图,每一科一口箱子,显示异常值,箱体要求填充,标题分别为对应科目举例代码
时间: 2024-10-21 11:08:38 浏览: 1
在Python中,你可以使用matplotlib库来创建箱线图(Boxplot),它能清晰地展示数据分布情况,包括四分位数、异常值等信息。下面是一个简单的例子,假设你有一个包含各科学生成绩的数据字典,我们可以按照这个结构来绘制:
```python
import matplotlib.pyplot as plt
# 假设你的数据像这样(这里只给出了三科作为示例)
grades = {
'数学': [85, 90, 78, 92, 88, 100, 65, 72],
'语文': [88, 94, 80, 96, 92, 100, 68, 76],
'英语': [82, 87, 76, 90, 95, 100, 60, 70]
}
# 创建一个新的图形
fig, ax = plt.subplots()
# 绘制箱型图,x轴为科目,y轴为成绩
for subject, scores in grades.items():
ax.boxplot(scores, positions=[subject], widths=0.5, patch_artist=True) # 宽度设定为0.5是为了美观
ax.set_xlabel('科目')
ax.set_ylabel('成绩')
# 显示异常值
for whiskers, caps, medians, fliers in ax.get_children()[2:]:
whiskers.set(markerfacecolor='red', markeredgecolor='black')
caps.set(color='red')
fliers.set(markerfacecolor='red', markeredgecolor='black')
# 添加标题
ax.set_title('各学科成绩箱线图')
# 显示图形
plt.show()
```
在这个例子中,`positions`参数用于设置每个科目的位置,`patch_artist=True`使得箱体可以填充颜色。异常值(outliers)通过修改`whiskers`, `caps`, 和 `fliers` 的样式来标记。
阅读全文