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

如何在PyQt Charts中设置Y轴显示零值刻度?

问题原因

你的Y轴未显示0值主要有两个可能的原因:

  1. 配置的Y轴范围[Config.f_Min, Config.f_Max]本身未包含0值
  2. 刻度均分逻辑没有把0纳入刻度点,同时未设置刻度锚点,导致0刚好落在两个刻度之间,不会被展示

解决方案

按以下步骤修改代码即可:

  1. 首先调整Y轴范围,确保0值包含在显示区间内
  2. 新增setTickAnchor(0)配置,指定刻度以0为基准对齐,强制0值出现在刻度上
  3. 删除冲突的参数配置:setTickInterval和setTickCount不能同时设置,后者优先级更高会覆盖前者的配置,按需保留一个即可

修改后的完整代码如下:

# 调整Y轴范围,确保包含0值
adjusted_min = min(Config.f_Min, 0)
adjusted_max = max(Config.f_Max, 0)
self.ob_Chart_Viewer.axis_y.setRange(adjusted_min, adjusted_max)

if self.ob_User_Inputs.cb_Axis_Y_Value_Type.currentIndex() + 1 == Config.AxisYValueType.AbsoluteInPercent.value:
    # 按需求选择保留刻度间隔配置或刻度数量配置,此处保留间隔配置
    self.ob_Chart_Viewer.axis_y.setTickInterval((adjusted_max - adjusted_min) / 10)
    # 设置刻度锚点为0,保证0一定会作为刻度显示
    self.ob_Chart_Viewer.axis_y.setTickAnchor(0)
    # 若需要固定10个刻度,注释上一行setTickInterval,取消注释下两行即可
    # self.ob_Chart_Viewer.axis_y.setTickCount(10)
    # self.ob_Chart_Viewer.axis_y.setTickAnchor(0)

你原来的图表参考:
PyQt6 Charts绘制的图表

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 08:30:01