Ubuntu16.04
python3.6.2python
#!usr/bin/env python
#-*- coding:utf-8 _*-
""" @author:fonttian @file: testCN.py @time: 2017/09/26 """
from matplotlib.font_manager import FontManager
import subprocess
fm = FontManager()
mat_fonts = set(f.name for f in fm.ttflist)
output = subprocess.check_output(
'fc-list :lang=zh -f "%{family}\n"', shell=True)
output = output.decode('utf-8')
# print '*' * 10, '系統可用的中文字體', '*' * 10
# print output
zh_fonts = set(f.split(',', 1)[0] for f in output.split('\n'))
available = mat_fonts & zh_fonts
print('*' * 10, '可用的字體', '*' * 10)
for f in available:
print(f)
import matplotlib
print(matplotlib.matplotlib_fname())
2.獲取信息
輸出:shell
********** 可用的字體 **********
Yahei Mono
YaHei Consolas Hybrid
/home/fonttian/anaconda3/lib/python3.6/site-packages/matplotlib/mpl-data/matplotlibrc
前面的兩個,是獲取的可用字體,若是沒有,須要本身下載.
最後一行是須要修改的配置文件地址
而後,刪除文件中:刪除font.family和font.sans-serif兩行前的#,
並在font.sans-serif後添加剛剛獲取的中文字體markdown
3.刪除~/.cache/matplotlib,(ctrl+H,顯示隱藏文件)
4.運行測試文件,本處給出一個測試文件函數
import numpy as np
import pylab as pl
import matplotlib as mpl
mpl.rcParams['font.sans-serif'] = ['Yahei Mono']
mpl.rcParams['font.serif'] = ['Yahei Mono']
t = np.arange(0.0,2.0 * np.pi,0.01) # 自變量取值範圍
s = np.sin(t) # 計算正弦函數值
z = np.cos(t) # 計算餘弦函數值
pl.plot(t,s,label='正弦')
pl.plot(t,z,label='餘弦')
pl.xlabel('x-變量') #設置標籤
pl.ylabel('y-正弦餘弦函數值')
pl.title('sin-cos函數圖像') #圖像標題
pl.show()
5.pandas,方法同樣,此處只給出一個結果
測試
有參考:建議參考內容:https://www.zhihu.com/question/25404709
win下:http://blog.csdn.net/fontthrone/article/details/75042659字體