Ubuntu系统中,使用matplotlib画图调用times new romain字体报错 findfont: Font family ['Times New Roman'] not found. Falling back to DejaVu Sans.

画图时报错,缺少字体 findfont: Font family ['Times New Roman'] not found. Falling back to DejaVu Sans.

有两种解决方式:

方式一:在线安装 msttcorefonts

# 安装 msttcorefonts 包 这种方式需要ubuntu能连外网,否则因为访问source-forge失败而告终
sudo apt update
sudo apt install ttf-mscorefonts-installer
sudo apt install --reinstall ttf-mscorefonts-installer
# 更新字体缓存
sudo fc-cache -fv
# 验证字体安装
fc-list | grep "Times New Roman"
# 清除matplotlib缓存
rm ~/.cache/matplotlib/ -rf

方式二:手动安装

需要从windows本地系统里找到Times New Roman这个字体,然后将其上传到服务器里的./fonts下。

  • 打开windows文件管理器,字体位于 C:\Windows\Fonts
  • 在当前目录搜索 Times ,将其复制到桌面,会得到4个子文件
  • 将4个子文件上传到服务器中
# 将windows字体上传到服务器
mkdir -p ~/.fonts
cp /path/to/downloaded/TimesNewRoman.ttf ~/.fonts/
# 更新字体缓存
fc-cache -fv
# 检查字体是否安装
fc-list | grep "Times New Roman"
# 清除matplotlib缓存
rm ~/.cache/matplotlib/ -rf

参考: Matplotlib找不到Times New Roman的解决方案

posted @ 2024-10-20 15:25  KaoPuNotes  阅读(257)  评论(0编辑  收藏  举报