写在前面:最近在Linux上使用python,需要画图,但是默认的字体不是‘Times New Roman’,自己的代码设置的字体为‘Times New Roman’,因此出图的时候会报出:findfont: Font family ['Times New Roman'] not found. Falling back to DejaVu Sans。为了一劳永逸,决定将字体改为‘Times New Roman’。

一、字体准备:Linux上的python没有‘Times New Roman’的库,需要先安装一个‘Times New Roman’的‘***.ttf’的文件。这个文件有两个来源:

(1)window系统下的‘C:\Windows\Fonts’,这个文件夹里存放的是字体,可以找到‘Times New Roman’这个字体,里面有四个字体格式:常规,加粗,倾斜,粗斜。需要将自己需要的字体格式复制到其他地方。

(2)通过网站下载http://www.xiazaiziti.com/?s=times+new+roman

二、字体安装:需要将字体安装到指定的路径:这里贴出我个人的安装路径:“/home/xliu/anaconda3/lib/python3.7/site-packages/matplotlib/mpl-data/fonts/ttf/”,自己也可以输入以下代码:

python

>>> import matplotlib

>>> print(matplotlib.matplotlib_fname())

显示字体安装路径。将字体安装到该路径下面,记住自己安装字体的文件名称。

三、文件修改:以我个人路径为例,找到“/home/xliu/anaconda3/lib/python3.7/site-packages/matplotlib/mpl-data”路径下的matplotlibrc文件,需要修改三个地方,我安装的是window的"times.ttf"

(1)#font.family         : times
(2)#font.sans-serif     : SimHei, Bitstream Vera Sans, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif, Turkish-Times-New-Roman-Bold, times ,timesi

(3)#axes.unicode_minus  : False    ## use unicode for the minus symbol    (此处的True改为False)

四、删除字体缓存:输入以下:

python

>>> import matplotlib
>>> matplotlib.get_cachedir(),找到隐藏的文件夹,删除 ~/.cache/matplotlib的缓冲目录。

此时,字体修改完毕,运行程序,图中的字体就是自己希望的‘Times New Roman’

参考资料:

https://blog.csdn.net/mr_muli/article/details/89485619

https://blog.csdn.net/sinat_40875078/article/details/104326855

https://blog.csdn.net/qq_37703898/article/details/105050800

 

 

Logo

更多推荐