因此,我正在尝试使用this post中显示的相同代码(包括其最新更新)来绘制数据。但是,当我运行代码以查看投影网格时,出现此错误:
Traceback (most recent call last):
File "C:\Users\Stefano\Documents\Python files\schmidt_projection.py", line 474, in <module>
plt.subplot(111, projection="SchmidtProjection")
File "C:\Users\Stefano\anaconda3\lib\site-packages\matplotlib\pyplot.py", line 1126, in subplot
ax = fig.add_subplot(*args, **kwargs)
File "C:\Users\Stefano\anaconda3\lib\site-packages\matplotlib\figure.py", line 1402, in add_subplot
ax = subplot_class_factory(projection_class)(self, *args, **kwargs)
File "C:\Users\Stefano\anaconda3\lib\site-packages\matplotlib\axes\_subplots.py", line 42, in __init__
self._axes_class.__init__(self, fig, self.figbox, **kwargs)
File "C:\Users\Stefano\Documents\Python files\schmidt_projection.py", line 26, in __init__
Axes.__init__(self, *args, **kwargs)
File "C:\Users\Stefano\anaconda3\lib\site-packages\matplotlib\axes\_base.py", line 511, in __init__
self.cla()
File "C:\Users\Stefano\Documents\Python files\schmidt_projection.py", line 43, in cla
self.set_longitude_grid(10)
File "C:\Users\Stefano\Documents\Python files\schmidt_projection.py", line 309, in set_longitude_grid
np.linspace(-np.pi, np.pi, number, True)[1:-1]))
File "<__array_function__ internals>", line 6, in linspace
File "C:\Users\Stefano\anaconda3\lib\site-packages\numpy\core\function_base.py", line 113, in linspace
num = operator.index(num)
TypeError: 'float' object cannot be interpreted as an integer
有人知道为什么以及如何解决此问题吗?我在这方面相对较新,我正在尝试学习尽可能多的知识,但我不知道为什么会发生此错误。我将非常感谢您的帮助。谢谢
p.s。我知道自从帖子更新以来已经过去了很多年,但是我仍然想尝试是否可以在此方面获得帮助。
答案 0 :(得分:0)
我没有遍历代码,但是我猜测您正在尝试使用num
变量作为索引。索引(数组或其他)通常是整数。您的num
可能会被解释为浮点数,因此在将其用作索引时,也许应该将其转换为int(num)
的整数。