Ubuntu 17.1中matplotlib.basemap绘图无工具栏图标问题求助
解决Ubuntu 17.1下Matplotlib/Basemap工具栏不显示的问题
这种情况大概率是Matplotlib的后端配置或依赖缺失导致的——Windows和Linux下Matplotlib默认的GUI后端不一样,Ubuntu可能用了无界面的后端,或者缺少带工具栏的GUI后端依赖。下面是具体的排查和解决步骤:
1. 先检查当前Matplotlib后端
在你的脚本开头加一行代码,看看当前用的是什么后端:
print(mpl.get_backend())
如果输出是Agg,那这是纯渲染后端,没有GUI工具栏,必须切换到带GUI的后端(比如TkAgg、Qt5Agg)。
2. 安装对应后端的依赖包
根据你想用的后端,安装Ubuntu下的依赖:
- 如果你想用Tk后端(你代码里导入了Tkinter的
PhotoImage,推荐这个):
因为你代码里用了from Tkinter import PhotoImage,应该是Python2环境,执行以下命令安装:sudo apt-get install python-tk - 如果想用Qt5后端:
sudo apt-get install python-pyqt5
3. 强制指定Matplotlib后端
在你的脚本最开头(导入matplotlib之后)添加一行,强制使用带工具栏的后端:
mpl.use('TkAgg') # 或者用'Qt5Agg',看你装了哪个依赖
然后再运行脚本,应该就能看到Home/Zoom/Save这些工具栏图标了。
另外,也可以修改Matplotlib的全局配置文件来永久设置后端:找到matplotlibrc文件(通常在~/.config/matplotlib/或者/usr/share/matplotlib/mpl-data/目录下),把backend一行改成backend: TkAgg即可。
内容的提问来源于stack exchange,提问作者Scalextrix
相关产品推荐
相关产品推荐

