ipython / ipython/matplotlib-inline
AttributeError: module 'matplotlib' has no attribute 'pyplot'
- 主要语言
- Jupyter Notebook
- 星标
- 31
- 派生
- 39
- PR 合并指标
- 30 天内没有已合并 PR
描述
While attempting to create a piano roll with librosa and matplotlib, like this:
```
def plot_piano_roll(pm, start_pitch, end_pitch, fs=100):
# Use librosa's specshow function for displaying the piano roll
librosa.display.specshow(pm.get_piano_roll(fs)[start_pitch:end_pitch],
hop_length=1, sr=fs, x_axis='time', y_axis='cqt_note',
fmin=pretty_midi.note_number_to_hz(start_pitch))
plt.figure(figsize=(8, 4))
plot_piano_roll(pm, 56, 70)
```
I encounter this error:
```
AttributeError Traceback (most recent call last)
File ~/anaconda3/lib/python3.9/site-packages/matplotlib_inline/backend_inline.py:100, in show(close, block)
97 # only call close('all') if any to close
98 # close triggers gc.collect, which can be slow
99 if close and Gcf.get_all_fig_managers():
--> 100 matplotlib.pyplot.close('all')
File ~/anaconda3/lib/python3.9/site-packages/matplotlib/_api/__init__.py:226, in caching_module_getattr..__getattr__(name)
224 if name in props:
225 return props[name].__get__(instance)
--> 226 raise AttributeError(
227 f"module {cls.__module__!r} has no attribute {name!r}")
AttributeError: module 'matplotlib' has no attribute 'pyplot'
```
The error seems to be fixed if I explicitly declare `import matplotlib.pyplot as plt` at the start of the file and then use that to call it like this: `plt.close('all')`. If that alone is satisfactory, I would request to do a PR.
贡献指南
这个仓库没有索引到贡献指南
评估
这个 Issue 还没有评估数据。