我正在尝试制作一些恒星数据的 CMD 图。
我正在使用提供给我的模块中的代码,这些代码应该像复制和粘贴一样简单。然而,下面显示的错误被抛出。我已经将 matplotlib 导入为 plt.老实说,我实际上并不理解第 6 行的任何内容,因此对发生的事情进行解释会有所帮助!
# make a figure
fig = plt.figure(figsize=(20,10))
ax2 = fig.add_subplot(122)
# color-magnitude diagram (Hess diagram)
im2 = ax2.hexbin(df_cmd['f475w_vega']-df_cmd['f814w_vega'],df_cmd['f475w_vega'], \
gridsize=200,cmap=matplotlib.cm.viridis,norm=matplotlib.colors.LogNorm())
ax2.set_xlabel('F475W - F814W',fontsize=15)
ax2.set_ylabel('F475W',fontsize=15)
ax2.set_title('Color-magnitude (Hess) diagram',fontsize=20)
ax2.set_xlim(-1,5)
ax2.set_ylim(28.4,22)
#Error
NameError Traceback (most recent call last)
<ipython-input-36-be39ddc4e09d> in <module>()
4
5 # color-magnitude diagram (Hess diagram)
----> 6 im2 = ax2.hexbin(df_cmd['f475w_vega']-df_cmd['f814w_vega'],df_cmd['f475w_vega'], gridsize=200,cmap=matplotlib.cm.viridis,norm=matplotlib.colors.LogNorm())
7 ax2.set_xlabel('F475W - F814W',fontsize=15)
8 ax2.set_ylabel('F475W',fontsize=15)
NameError: name 'matplotlib' is not defined```
原文由 Kibbles 发布,翻译遵循 CC BY-SA 4.0 许可协议
在第一行中,您使用
plt
,这很可能是import matplotlib.pyplot as plt
的结果,这意味着您只能使用名称为 plt 的 pyplot 子模块。但是随后您尝试使用
cmap=matplotlib.cm.viridis,norm=matplotlib.colors.LogNorm()
,重点放在matplotlib.cm.viridis
。我猜,你没有导入 matplotlib 作为它自己的库,所以你可以使用它。只需在程序开始时调用import matplotlib
。