Linux matplotlib现在给出了一个';未知属性';自Python 3更新以来的AttributeError:
我正在用天文计划建立一些天文观测。以前,当我使用Python2.7运行代码时,它将目标正确地绘制在天空中。现在,我转到了Python3.7,在同一代码中出现了一个AttributeError 我使用了更大的代码,去掉了似乎没有触发错误的所有内容。下面是生成投诉的代码Linux matplotlib现在给出了一个';未知属性';自Python 3更新以来的AttributeError:,linux,python-3.x,matplotlib,Linux,Python 3.x,Matplotlib,我正在用天文计划建立一些天文观测。以前,当我使用Python2.7运行代码时,它将目标正确地绘制在天空中。现在,我转到了Python3.7,在同一代码中出现了一个AttributeError 我使用了更大的代码,去掉了似乎没有触发错误的所有内容。下面是生成投诉的代码 from astroplan import Observer, FixedTarget import astropy.units as u from astropy.time import Time import matplotli
from astroplan import Observer, FixedTarget
import astropy.units as u
from astropy.time import Time
import matplotlib.pyplot as plt
from astroplan.plots import plot_sky
import numpy as np
time = Time('2015-06-16 12:00:00')
subaru = Observer.at_site('subaru')
vega = FixedTarget.from_name('Vega')
sunset_tonight = subaru.sun_set_time(time, which='nearest')
vega_rise = subaru.target_rise_time(time, vega) + 5*u.minute
start = np.max([sunset_tonight, vega_rise])
plot_sky(vega, subaru, start)
plt.show()
预期的结果是一个简单的目标图,在这个例子中,就是夏威夷斯巴鲁望远镜看到的天空中的织女星。astroplan文档提供了一个教程,展示了如何查看本页的最后部分:
相反,我现在得到以下错误:
Traceback (most recent call last):
File "plot_sky.py", line 16, in <module>
plot_sky(vega, subaru, start)
File "/usr1/local/anaconda_py3/ana37/lib/python3.7/site-packages/astropy/utils/decorators.py", line 842, in plot_sky
func = make_function_with_signature(func, name=name, **wrapped_args)
File "/usr1/local/anaconda_py3/ana37/lib/python3.7/site-packages/astropy/units/decorators.py", line 222, in wrapper
return_ = wrapped_function(*func_args, **func_kwargs)
File "/local/data/fugussd/rkbarry/.local/lib/python3.7/site-packages/astroplan/plots/sky.py", line 216, in plot_sky
ax.set_thetagrids(range(0, 360, 45), theta_labels, frac=1.2)
File "/usr1/local/anaconda_py3/ana37/lib/python3.7/site-packages/matplotlib/projections/polar.py", line 1268, in set_thetagrids
t.update(kwargs)
File "/usr1/local/anaconda_py3/ana37/lib/python3.7/site-packages/matplotlib/text.py", line 187, in update
super().update(kwargs)
File "/usr1/local/anaconda_py3/ana37/lib/python3.7/site-packages/matplotlib/artist.py", line 916, in update
ret = [_update_property(self, k, v) for k, v in props.items()]
File "/usr1/local/anaconda_py3/ana37/lib/python3.7/site-packages/matplotlib/artist.py", line 916, in <listcomp>
ret = [_update_property(self, k, v) for k, v in props.items()]
File "/usr1/local/anaconda_py3/ana37/lib/python3.7/site-packages/matplotlib/artist.py", line 912, in _update_property
raise AttributeError('Unknown property %s' % k)
AttributeError: Unknown property frac
回溯(最近一次呼叫最后一次):
文件“plot_sky.py”,第16行,在
绘制天空(织女星、斯巴鲁、起点)
文件“/usr1/local/anaconda_py3/ana37/lib/python3.7/site packages/astropy/utils/decorators.py”,第842行,在plot_sky中
func=生成带有签名的函数(func,name=name,**包装的参数)
包装中的文件“/usr1/local/anaconda_py3/ana37/lib/python3.7/site packages/astropy/units/decorators.py”,第222行
return=包装函数(*func\u args,**func\u kwargs)
文件“/local/data/fugussd/rkbarry/.local/lib/python3.7/site packages/astroplan/plots/sky.py”,第216行,在plot_sky中
最大设置坐标(范围(0,360,45),坐标标签,分形=1.2)
文件“/usr1/local/anaconda_py3/ana37/lib/python3.7/site packages/matplotlib/projections/polar.py”,第1268行,在集合表格中
t、 更新(kwargs)
更新中第187行的文件“/usr1/local/anaconda_py3/ana37/lib/python3.7/site packages/matplotlib/text.py”
super().update(kwargs)
文件“/usr1/local/anaconda_py3/ana37/lib/python3.7/site packages/matplotlib/artist.py”,第916行,更新中
ret=[\u更新props.items()中k,v的属性(self,k,v)]
文件“/usr1/local/anaconda_py3/ana37/lib/python3.7/site packages/matplotlib/artist.py”,第916行,中
ret=[\u更新props.items()中k,v的属性(self,k,v)]
文件“/usr1/local/anaconda_py3/ana37/lib/python3.7/site packages/matplotlib/artist.py”,第912行,在更新属性中
raise AttributeError('未知属性%s“%k”)
AttributeError:未知属性分形
astroplan代码使用matplotlib中不存在的参数frac
。您需要将其从源代码中删除,或者检查是否有更新的版本可用。我不在计算机上,因此现在无法尝试此操作。然而,我想指出的是,在我之前运行Python2.7时,它是有效的。我认为这是唯一的改变。frac
参数在matplotlib 2.1中被弃用,并最终在matplotlib 3.0中被删除。astroplan代码使用了matplotlib中不存在的参数frac
。您需要将其从源代码中删除,或者检查是否有更新的版本可用。我不在计算机上,因此现在无法尝试此操作。然而,我想指出的是,在我之前运行Python2.7时,它是有效的。我认为这是唯一的改变。frac
参数在matplotlib 2.1中已被弃用,并最终在matplotlib 3.0中被删除。