Python Pandas柱状图绘图偏离坐标轴问题求助
解决柱状图与坐标轴偏移问题
你遇到的柱子和x轴标签偏移问题,核心原因是误差棒数据与绘图数据的索引不匹配。原代码中yerr直接传入了原DataFrame的两列,它们的索引是原始行号,而绘图用的DataFrame已经将AA设为索引,导致误差棒位置与柱子错位,进而引发整体偏移。
修改后的代码方案
import matplotlib.pyplot as plt # 对齐误差数据与绘图数据的索引,转为数组格式 err_data = df3.set_index("AA")[["STDV NH4+", "STDV NH4+.1"]].values # 绘制带误差棒的柱状图 ( df3[["AA", "NH4+ (5D)", "NH4+ (14D)"]] .set_index("AA") .plot(kind="bar", yerr=err_data, figsize=(18, 6)) ) # 自动调整布局,避免元素偏移或截断 plt.tight_layout() plt.savefig("NH4+_stdv.jpg", dpi=300)
关键说明
- 将误差数据通过
set_index("AA")与绘图数据的索引对齐,再转成numpy数组传入yerr,确保每个柱子的误差棒对应正确位置,从根源上解决错位问题。 plt.tight_layout()会自动调整图形边距和元素位置,避免标签、柱子出现偏移或被截断的情况。
内容的提问来源于stack exchange,提问作者Leandro
相关产品推荐
相关产品推荐

