MAC 中python画图中文乱码

有中文字体的情况下

通过以下代码执行得到存在的中文字体

from matplotlib.font_manager import FontManager
import subprocess

fm = FontManager()
mat_fonts = set(f.name for f in fm.ttflist)
#print(mat_fonts)
output = subprocess.check_output('fc-list :lang=zh -f "%{family}\n"', shell=True)
#print( '*' * 10, '系统可用的中文字体', '*' * 10)
#print (output)
zh_fonts = set(f.split(',', 1)[0] for f in output.decode('utf-8').split('\n'))
available = mat_fonts & zh_fonts
print ('*' * 10, '可用的字体', '*' * 10)
for f in available:
     print (f)

** 可用的字体 **
.LastResort
Arial Unicode MS

plt.rcParams['font.sans-serif']=['Arial Unicode MS']
plt.rcParams['axes.unicode_minus'] = False #解决保存图像是负号'-'显示为方块的问题
plt.title("这是题目")
plt.show()

在没有中文字体的情况下需要下载字体以及配置详细见下篇

你可能感兴趣的:(Python,机器学习算法,python,mac,乱码,字体)