pyqtgraph 轴显示不正确

pyqtgraph axes not displaying correctly

我最近在将 pyqt 从 PyQt4 更新到 PyQt5 后开始使用 PyQt5,并且注意到使用 pyqtgraph 生成的所有图的轴位置持续存在错误(见附图)。 x 轴没有跨过 window 的底部,y 轴没有与左下角的 x 轴相连。此外,在大 x 值或小 y 值处,轨迹不能准确地由轴标签表示。

下图由运行制作:

import pyqtgraph as pg
pg.plot([0,1,2,3,4,5,6,7,8,9],[1,2,4,5,7,8,10,11,13,14])

我在 Windows 10 机器上使用 anaconda 创建了一个新的 python 环境来测试这个问题。 conda list qt的输出是:

pyqt                      5.6.0                    py35_2
pyqtgraph                 0.10.0                   py35_0
qt                        5.6.2                    vc14_5  [vc14]

我曾尝试使用不同版本的 Python(3.5.3 和 3.6)并删除并重新安装所有 anaconda 发行版,但均未成功。我真的很感激任何帮助解决这个问题。提前致谢。

编辑 1: 我应该提到我是 运行 这个程序在外接显示器上。我刚刚发现,如果我将绘图 window 拖到我较小的笔记本电脑显示屏上,轴就会卡入正确的位置。我还没有发现如何在我的外接显示器上正确显示绘图,但我怀疑它可能与 QT DPI 缩放环境变量有关。

我找到了解决此问题的两种可能方法:

1) Qt GUI事件循环开始设置DPI后可以添加以下行app.setAttribute(QtCore.Qt.AA_Use96Dpi)

2) Windows 设置外接显示器的显示缩放参数必须与主显示器(笔记本电脑显示器,在我的例子中)的显示缩放值相匹配。