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

PyQtGraph绘图Y轴存在0-5间隙问题求助

解决PyQtGraph绘图Y轴存在0-5间隙的问题

你的问题是因为PyQtGraph默认的坐标轴自动范围策略会包含0值,而你的数据Y值从5开始,导致Y轴出现0到5的空白间隙。以下是几种可行的解决方案:

方案1:手动指定Y轴范围

直接根据数据的最小、最大值设置Y轴范围,精准控制显示区间:

import sys
from PyQt5.QtWidgets import QApplication
import pyqtgraph as pg

app = QApplication(sys.argv)
plot_window = pg.plot(x=[0,1,2,4], y=[5,6,7,8])
y_data = [5,6,7,8]
# 设置Y轴范围为数据的最小到最大值,可根据需求调整上下限留白
plot_window.setYRange(min(y_data), max(y_data))
status = app.exec_()
sys.exit(status)

方案2:开启严格的自动范围适配

让Y轴自动适配数据的实际范围,不再强制包含0:

import sys
from PyQt5.QtWidgets import QApplication
import pyqtgraph as pg

app = QApplication(sys.argv)
plot_window = pg.plot(x=[0,1,2,4], y=[5,6,7,8])
# 获取左侧Y轴,padding参数控制留白比例(0为无留白,0.05为5%留白)
plot_window.getAxis('left').autoRange(padding=0.05)
status = app.exec_()
sys.exit(status)

方案3:初始化时配置坐标轴可见性

创建绘图控件时就指定Y轴仅显示数据覆盖的范围:

import sys
from PyQt5.QtWidgets import QApplication
import pyqtgraph as pg

app = QApplication(sys.argv)
plot_window = pg.PlotWidget()
plot_window.plot(x=[0,1,2,4], y=[5,6,7,8])
# 设置Y轴自动可见范围仅包含数据区间
plot_window.getAxis('left').setAutoVisible(y=True)
status = app.exec_()
sys.exit(status)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 12:12:15