我正在尝试将 matplotlib 与 Pycharm Community Ed 一起使用。2019.3,Python 3.7.3,Ubuntu 19.04。
import matplotlib
import matplotlib.pyplot as plt
plt.figure()
plt.plot(3,2,'.')
plt.show()
但是得到如下错误代码:UserWarning: Matplotlib is current using agg,这是一个非GUI后端,所以无法显示图形。”
我尝试将后端更改为“NbAgg”:
import matplotlib
matplotlib.use('NbAgg')
import matplotlib.pyplot as plt
plt.figure()
plt.plot(3,2,'.')
plt.show()
但是得到以下错误代码:
Traceback (most recent call last):
File "/home/leo/.PyCharmCE2019.3/config/scratches/scratch_1.py", line 7, in <module>
plt.show()
File "/home/leo/PycharmProjects/Coursera/venv/lib/python3.7/site-packages/matplotlib/pyplot.py", line 269, in show
return _show(*args, **kw)
File "/home/leo/PycharmProjects/Coursera/venv/lib/python3.7/site-packages/matplotlib/backends/backend_nbagg.py", line 261, in show
manager.show()
File "/home/leo/PycharmProjects/Coursera/venv/lib/python3.7/site-packages/matplotlib/backends/backend_nbagg.py", line 90, in show
self._create_comm()
File "/home/leo/PycharmProjects/Coursera/venv/lib/python3.7/site-packages/matplotlib/backends/backend_nbagg.py", line 122, in _create_comm
self.add_web_socket(comm)
File "/home/leo/PycharmProjects/Coursera/venv/lib/python3.7/site-packages/matplotlib/backends/backend_webagg_core.py", line 432, in add_web_socket
self.resize(w, h)
File "/home/leo/PycharmProjects/Coursera/venv/lib/python3.7/site-packages/matplotlib/backends/backend_webagg_core.py", line 418, in resize
size=(w / self.canvas._dpi_ratio, h / self.canvas._dpi_ratio))
File "/home/leo/PycharmProjects/Coursera/venv/lib/python3.7/site-packages/matplotlib/backends/backend_webagg_core.py", line 489, in _send_event
s.send_json(payload)
File "/home/leo/PycharmProjects/Coursera/venv/lib/python3.7/site-packages/matplotlib/backends/backend_nbagg.py", line 199, in send_json
self.comm.send({'data': json.dumps(content)})
File "/home/leo/PycharmProjects/Coursera/venv/lib/python3.7/site-packages/ipykernel/comm/comm.py", line 123, in send
data=data, metadata=metadata, buffers=buffers,
File "/home/leo/PycharmProjects/Coursera/venv/lib/python3.7/site-packages/ipykernel/comm/comm.py", line 66, in _publish_msg
self.kernel.session.send(self.kernel.iopub_socket, msg_type,
AttributeError: 'NoneType' object has no attribute 'session'
Error in atexit._run_exitfuncs:
Traceback (most recent call last):
File "/home/leo/PycharmProjects/Coursera/venv/lib/python3.7/site-packages/matplotlib/_pylab_helpers.py", line 73, in destroy_all
manager.destroy()
File "/home/leo/PycharmProjects/Coursera/venv/lib/python3.7/site-packages/matplotlib/backends/backend_nbagg.py", line 126, in destroy
self._send_event('close')
File "/home/leo/PycharmProjects/Coursera/venv/lib/python3.7/site-packages/matplotlib/backends/backend_webagg_core.py", line 489, in _send_event
s.send_json(payload)
File "/home/leo/PycharmProjects/Coursera/venv/lib/python3.7/site-packages/matplotlib/backends/backend_nbagg.py", line 199, in send_json
self.comm.send({'data': json.dumps(content)})
File "/home/leo/PycharmProjects/Coursera/venv/lib/python3.7/site-packages/ipykernel/comm/comm.py", line 123, in send
data=data, metadata=metadata, buffers=buffers,
File "/home/leo/PycharmProjects/Coursera/venv/lib/python3.7/site-packages/ipykernel/comm/comm.py", line 66, in _publish_msg
self.kernel.session.send(self.kernel.iopub_socket, msg_type,
AttributeError: 'NoneType' object has no attribute 'session'
我知道后端和显示图不兼容,但我不明白我需要做什么来匹配后端和显示图。