使用PyQtGraph我的Surface Plot显示在窗口的左下角。

时间:2017-08-07 19:27:05

标签: python macos opengl qtgui pyqtgraph

这是我的代码。

from pyqtgraph.Qt import QtGui
import numpy as np
import pyqtgraph.opengl as gl
from netCDF4 import Dataset
import sys

def main():

    app = QtGui.QApplication(sys.argv)
    w=gl.GLViewWidget()
    w.show()
    w.setCameraPosition(distance=150)

    #just my data
    data=Dataset('200707.nc')


    prec=data.variables['Prec'][5,:59,:59]

    p = gl.GLSurfacePlotItem(z=prec[:] ,shader='heightColor')
    p.shader()['colorMap'] = np.array([0.2, 2, 0.5, 0.2, 1, 1, 0.2, 0, 2])


    w.addItem(p)
    sys.exit(app.exec_())

if __name__ == '__main__':

    main()

我认为问题可能出在图书馆与Mac的像素布局的互动中。真的不确定它可能是什么或如何解决它。我应该考虑使用其他程序吗?

2 个答案:

答案 0 :(得分:0)

我在Macbook Pro上遇到了同样的问题。我认为你安装的PyQtGraph版本的某些东西不允许在你的(和大多数Mac)设备上进行适当的缩放。

我并没有真正搞砸太多,但为了解决这个问题,我在Anaconda中创建了一个新的Python环境(以确保任何其他依赖项不会导致这种情况)并安装了可通过Conda获得的PyQtGraph版本。我不知道通过其他来源的其他版本是否也能正常工作,但这个版本似乎对我有用。

如果您的计算机上安装了Anaconda,只需执行以下操作:

  • 创建一个新的Python环境。 conda create -n env_name python=py_ver anaconda
  • 来源于您的环境。 source activate env_name
  • 安装PyQtGraph。 conda install -c anaconda pyqtgraph

现在,当您运行程序时,它应该正确扩展。

答案 1 :(得分:0)

在osx上安装vispy之后出现了这样的问题。原来我只需要安装最新版本的pyqt5,问题就消失了。

splitDom