matplotlib 全局字体改为 Times New Roman

1. 代码加入:

import matplotlib.pyplot as plt
plt.rc('font',family='Times New Roman') 

2.若报错:

UserWarning: findfont: Font family [u'Times New Roman'] not found. Falling back to DejaVu Sans   (prop.get_family(), self.defaultFamily[fontext]))

3. 安装:

sudo apt install msttcorefonts -qq

Ubuntu 16.04 会报错

E: Failed to fetch https://nchc.dl.sourceforge.net/project/corefonts/the fonts/final/andale32.exe  Protocol "http" not supported or disabled in libcurl

4. 解决方案:

手动下载字体库

proxychains wget http://downloads.sourceforge.net/corefonts/{andale32.exe,arial32.exe,arialb32.exe,comic32.exe,courie32.exe,georgi32.exe,impact32.exe,times32.exe,trebuc32.exe,verdan32.exe,webdin32.exe}

(wget 不指定目录的话会下载到终端当前目录下)

彻底移除ttf-mscorefonts-installer

sudo apt remove --purge ttf-mscorefonts-installer
sudo apt autoremove ttf-mscorefonts-installer

然后继续执行安装:

sudo apt-get install ttf-mscorefonts-installer
# (可能仍然会失败)
sudo dpkg-reconfigure ttf-mscorefonts-installer

第二行命令需要按提示输入wget下载的字体文件的目录,然后TabOK即可
此时可能提示再次输入第二行命令,再次执行即可~

5. 最后一步(很关键!)

rm ~/.cache/matplotlib -rf

6. 安装msttcorefonts问题:

Tab键选中ok即可继续安装

参考:

https://bugs.launchpad.net/ubuntu/+source/msttcorefonts/+bug/1607535
https://askubuntu.com/questions/543673/mscorefonts-problems

你可能感兴趣的:(matplotlib 全局字体改为 Times New Roman)