matplotlib 获取名称错误:名称'GL_POINT_SMOOTH'未定义使用Geoplotlib创建图时出错

yk9xbfzb  于 2023-03-03  发布在  其他
关注(0)|答案(1)|浏览(627)

我正在尝试使用geoplotlib创建点Map,并收到以下错误:

Traceback (most recent call last):
  File "/Users/abc/opt/anaconda3/lib/python3.9/site-packages/geoplotlib/__init__.py", line 32, in _runapp
    app.start()
  File "/Users/abc/opt/anaconda3/lib/python3.9/site-packages/geoplotlib/core.py", line 367, in start
    l.invalidate(self.proj)
  File "/Users/abc/opt/anaconda3/lib/python3.9/site-packages/geoplotlib/layers.py", line 148, in invalidate
    self.painter.points(x, y, 2*self.point_size, False)
  File "/Users/abc/opt/anaconda3/lib/python3.9/site-packages/geoplotlib/core.py", line 517, in points
    glDisable(GL_POINT_SMOOTH)
NameError: name 'GL_POINT_SMOOTH' is not defined

这是我正在使用的代码:

import geoplotlib
from geoplotlib.utils import read_csv

data = read_csv("merged.csv") 

geoplotlib.dot(data)

geoplotlib.show()

合并的.csv文件如下所示:

lat,lon,val
24.0,54.0,1.67
33.0,65.0,3.9
17.05,-61.8,2.0
41.0,20.0,1.7
40.0,45.0,1.58
12.25,-68.75,1.82
-12.5,18.5,5.34
-34.0,-64.0,2.22

根据我的理解,安装了Geoplotlib之后,这段代码应该可以工作。我该如何解决这个错误?

xoshrz7s

xoshrz7s1#

您看到的错误消息表明GL_POINT_SMOOTH常量未在OpenGL库中定义。此错误可能是由于OpenGL库和geoplotlib之间的版本不匹配。
一个可能的解决方案是尝试将OpenGL库更新为兼容版本。您可以通过在终端中运行以下命令来完成此操作:

管道安装pyopengl==3.1.5

安装新版本的pyopengl后,尝试再次运行代码,看看错误是否仍然存在。
如果上述解决方案不起作用,另一个选择是尝试降低geoplotlib的版本。您可以尝试使用以下命令安装geoplotlib版本0.4.0:

pip安装地理绘图库==0.4.0

已知此版本的geoplotlib可以与旧版本的OpenGL很好地配合使用。
或者,您也可以尝试将geoplotlib更新到最新版本(在撰写本文时为0.4.5),然后安装兼容版本的pyopengl。

相关问题