我正在尝试将matplotlib与Pycharm社区教育结合使用。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当前正在使用agg,这是一个非图形用户界面的后端,因此无法显示该图。“
我试着把后端改成'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'
我知道后端和显示情节是不兼容的,但我不明白我需要做什么来匹配后端和显示情节。
发布于 2020-01-14 10:52:33
我可以将后端更改为'TkAgg',但我必须通过命令行使用以下命令安装tk:
sudo apt-get install python3-tk
但是,仍然需要使用plt.show()来弹出图形
https://stackoverflow.com/questions/59726646
复制相似问题