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

柱状图中标题、X轴/Y轴标签不显示问题求助

问题解决:柱状图标题、轴标签不显示及X轴刻度错误

问题根源

  1. 标题/轴标签被遮挡:你用ax.add_axes([0,0,1,1])创建的坐标轴完全占满画布,没有预留边距,导致标题、Y轴标签被挤出可视区域。
  2. X轴刻度设置错误:set_xticks的参数用法不符合matplotlib规范,且刻度位置未对应到每组柱子的中心,导致数据集名称(G1-G4)无法正确匹配分组。

修正后的代码

import numpy as np
import matplotlib.pyplot as plt

test = np.arange(4)+1
data = [test, test, test, test]
err = np.linspace(0.1,0.2,4)
X = np.arange(4) 

# 改用subplots创建坐标轴,自动预留边距
fig, ax = plt.subplots()

# 绘制四组柱子,位置依次偏移
ax.bar(X + 0, data[0], color='lightblue', width=0.2, yerr=err, ecolor="darkgray")
ax.bar(X + 0.2, data[1], color='limegreen', width=0.2, yerr=err, ecolor="darkgray")
ax.bar(X + 0.4, data[2], color='r', width=0.2, yerr=err, ecolor="darkgray")
ax.bar(X + 0.6, data[3], color='y', width=0.2, yerr=err, ecolor="darkgray")

ax.legend(labels=['shrink', 'uniform','insert','replace'])
ax.set_ylabel('Mutation rates')
ax.set_title('Mutation rates variation by dataset')

# 将X轴刻度放在每组柱子的中心位置,再设置对应标签
ax.set_xticks(X + 0.3)
ax.set_xticklabels(['G1', 'G2', 'G3', 'G4'])

plt.show()

关键修改说明

  • 替换fig.add_axes([0,0,1,1])为fig, ax = plt.subplots():这是matplotlib官方推荐的坐标轴创建方式,会自动为标题、轴标签预留足够的显示空间。
  • 调整X轴刻度逻辑:把刻度定位在每组四个柱子的中心位置(X + 0.3),再通过set_xticklabels单独设置数据集名称,避免参数混用导致的功能异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 04:18:17