使用PyQtGraph我的曲面图显示在窗口的左下角。

问题描述:

这是我的代码。使用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的像素布局的交互。真的不知道它可能是什么或如何解决它。我应该考虑使用不同的程序吗?

+0

您能否提供适当的问题描述?究竟*是什么问题?代码应该如何表现呢? – ImportanceOfBeingErnest

+0

@ImportanceOfBeingErnest问题是这张图的图形居中在窗口的左下方而不是中心。 http://i.imgur.com/H4WoMfn.png – midfieldmadmess

+0

@ImportanceOfBeingErnest我的MacBook Pro 2016 15英寸MacOS Sierra 10.12.6和Python 3.6上有同样的问题。重现它,得到一个Mac,'sudo pip3安装PyOpenGL pyqtgragh'并运行文档中描述的例子。也就是'import pyqtgraph.examples; pyqtgraph.examples.run()'在Python控制台中。然后,在出现的窗口中,选择任何“3D Graphcs”示例,然后您会看到,图形占据整个窗口的图形应该只占据左下象限。 – Ray

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

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

如果您的计算机上安装蟒蛇,只要做到以下几点:

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

现在,当你运行你的程序时,它应该正确缩放。