import numpy as npnp.random.seed(42)class_a = np.random.normal(75, 10, 30).clip(0, 100)class_b = np.random.normal(70, 15, 30).clip(0, 100)class_c = np.random.normal(80, 8, 30).clip(0, 100)data = [class_a, class_b, class_c]
import numpy as npimport matplotlib.pyplot as pltnp.random.seed(42)# 为三个班级生成样本数据class_a = np.random.normal(75, 10, 30).clip(0, 100)class_b = np.random.normal(70, 15, 30).clip(0, 100)class_c = np.random.normal(80, 8, 30).clip(0, 100)# 将数据合并到一个列表中data = [class_a, class_b, class_c]# 创建箱线图fig, ax = plt.subplots(figsize=(10, 6))box_plot = ax.boxplot(data, tick_labels=['Class A', 'Class B', 'Class C'], patch_artist=True)# 自定义箱线图颜色colors = ['lightblue', 'lightgreen', 'lightpink'][box_plot['boxes'][i].set_facecolor(colors[i]) for i in range(len(colors))]# 设置标签和标题ax.set_xlabel('Classes')ax.set_ylabel('Exam Scores')ax.set_title('Comparison of Exam Scores Across Classes')# 添加网格线以提高可读性ax.yaxis.grid(True, linestyle='--', alpha=0.7)# 显示图表plt.tight_layout()plt.show()