这是我的代码。

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像素布局的交互中。真的不确定这可能是什么或如何解决。我应该考虑使用其他程序吗?

最佳答案

我在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

  • 现在,当您运行程序时,它应该可以正确缩放。

    关于python - 使用PyQtGraph,我的表面图显示在窗口的左下角。,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45554346/

    10-12 15:56