You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何绘制X轴列名居中对齐的Matplotlib柱状图?

解决Matplotlib柱状图X轴标签居中对齐问题

以下是几种直接有效的解决方式:

1. 基础快速设置

如果用pyplot接口直接绘图,只需在设置X轴刻度时指定水平对齐方式为居中:

import matplotlib.pyplot as plt

# 示例数据
x_labels = ['public', 'private']
y_values = [20, 25]

plt.bar(x_labels, y_values)
plt.xticks(ha='center')  # 核心:设置X轴标签水平居中
plt.show()

2. 自定义X坐标时的对齐

如果手动指定了柱状图的X轴数值位置(而非直接用标签作为X轴),需要确保刻度位置与柱状图位置完全对应,再设置居中:

import matplotlib.pyplot as plt

x_labels = ['public', 'private']
y_values = [20, 25]
x_positions = [0, 1]  # 自定义的柱状图位置

plt.bar(x_positions, y_values)
# 绑定刻度位置与对应标签,并设置居中
plt.xticks(x_positions, x_labels, ha='center')
plt.show()

3. 面向对象接口的精细化设置

如果使用Matplotlib的面向对象(Axes)方式绘图,可以通过tick_params精准控制X轴标签对齐:

import matplotlib.pyplot as plt

fig, ax = plt.subplots()
x_labels = ['public', 'private']
y_values = [20, 25]

ax.bar(x_labels, y_values)
# 设置X轴标签的水平对齐为居中
ax.tick_params(axis='x', labelha='center')
plt.show()

额外排查点

如果以上方法无效,检查是否存在以下情况:

  • 代码中是否设置了labelpad等偏移参数,导致标签偏移
  • 是否对X轴标签进行了旋转(比如rotation=45),此时若要居中需确保rotation为0,或结合旋转角度调整对齐方式

内容的提问来源于stack exchange,提问作者sirisha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 13:15:56