Python箱线图无法显示中位数标签与标题,修改后还出现语法错误
Python箱线图问题解决方案
解决重复绘图+添加标题与中位数标签
原代码生成两个图,核心原因是重复调用绘图函数或plt.show(),以下是修正后的完整代码,可实现单图输出、标题添加、中位数标签标注:
import matplotlib.pyplot as plt import pandas as pd import numpy as np # 替换为你的研究数据 data = pd.DataFrame({ '实验组': np.random.normal(75, 9, 120), '对照组': np.random.normal(68, 8, 120), '空白组': np.random.normal(62, 7, 120) }) # 创建单一画布,避免多图生成 fig, ax = plt.subplots(figsize=(8, 6)) # 绘制箱线图,绑定到ax对象 box_plot = ax.boxplot(data.values, labels=data.columns, patch_artist=True) # 添加图表标题 ax.set_title('不同组别数据分布箱线图', fontsize=14, pad=20) # 遍历添加中位数标签 for median_line in box_plot['medians']: # 获取中位数的坐标 median_x = median_line.get_xdata()[0] median_y = median_line.get_ydata()[0] # 标注中位数数值,保留两位小数 ax.text(median_x, median_y, f'{median_y:.2f}', ha='center', va='bottom', fontsize=10) # 仅调用一次,输出单图 plt.show()
排查第三行语法错误
如果修改后第三行报错,优先检查这几点:
- 导入语句是否完整:比如第三行如果是数据定义,要确保已经导入
pandas/numpy(即前两行的import语句没有遗漏或拼写错误) - 变量/函数名拼写:比如
pd.DataFrame是否写成了pd.dataframe(Python大小写敏感) - 符号配对:比如括号、引号是否闭合,逗号是否漏加
- 缩进问题:第三行如果是代码块内的语句,要确保缩进与上一行一致
内容的提问来源于stack exchange,提问作者Trin
相关产品推荐
相关产品推荐

