Matplotlib常见问题

2022-03-18 14:04:22 浏览数 (1)

1. 显示中文乱码

  • 问题:matplotlib 在系统上没有找到对应的中文字体。
  • 解决:

在代码中手动指定系统上的中文字体。 import matplotlib as mpl import matplotlib.pyplot as plt from matplotlib.font_manager import FontProperties zhfont = mpl.font_manager.FontProperties(fname='/usr/share/fonts/xxx') # ... plt.title(u'图表标题', fontproperties=zhfont) plt.show()

【注】笔者使用的是 Arch Linux 系统,Arch Linux 上的中文字体安装可参考 Fonts。如果是其它 Linux 发行版,也可以这篇文章,其中很多中文字体都是开源的,在其它 Linux 发行版上一般也有对应安装包。

参考资料:matplotlib 显示宋体和 Times New Roman。

2. matplotlib is currently using agg which is a non-gui backend so cannot show the figure

  • 问题:缺少 GUI 后端。
  • 解决:

Debian 系:安装 python-tkpython3-tk。 ArchLinux 系:安装 tk。 RedHat 系:安装 python-tkinterpython3-tkinter

参考资料:matplotlib is currently using agg which is a non-gui backend so cannot show the figure。

0 人点赞