Python使用Matpoltlib绘制箱线图

56 阅读1分钟

引入依赖

import matplotlib.pyplot as plt
import pandas as pd

显示中文和字号

plt.rcParams["font.sans-serif"] = ["SimHei"]
plt.rcParams['font.size'] = 18
ax = plt.axes([0.1, 0.1, 0.8, 0.8])

数据预处理

data = pd.read_csv('study_performance.csv')

groupA = data[data['race_ethnicity'] == 'group A']['math_score']
groupB = data[data['race_ethnicity'] == 'group B']['math_score']
groupC = data[data['race_ethnicity'] == 'group C']['math_score']
groupD = data[data['race_ethnicity'] == 'group D']['math_score']
groupE = data[data['race_ethnicity'] == 'group E']['math_score']

绘图

# 绘制箱线图、设置样式
bp = plt.boxplot([groupA, groupB, groupC, groupD, groupE],
                 labels=['groupA', 'groupB', 'groupC', 'groupD', 'groupE'],
                 notch=True, patch_artist=True,
                 boxprops={'color': 'g'}, medianprops={'color': 'r'})

# 为每个箱体设置颜色
colors = ['blue', 'green', 'yellow', 'orange', 'purple']  # 假设的+颜色列表
for patch, color in zip(bp['boxes'], colors):
    patch.set_facecolor(color)

plt.title('不同种群的教学成绩表现')
# 隐藏右上边框
ax.spines['top'].set_visible(False)
ax.spines['right'].set_visible(False)

plt.show()

效果图

箱线图.png