linux python解决中文字体
1.异常
我的python代码如下
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei'] # 中文字体设置
plt.title('中华人民共和国')
plt.plot([1,2,3,4],['一','二','三','四'],color="b",linestyle = ":")
plt.show()
抛出异常
findfont: Font family ['sans-serif'] not found. Falling back to DejaVu Sans.
findfont: Generic family 'sans-serif' not found because none of the following families were found: SimHei
2.解决
通过python找到python字体目录
import matplotlib
print(matplotlib.matplotlib_fname())
输出
/usr/local/lib/python3.7/site-packages/matplotlib/mpl-data/matplotlibrc
把Windows上的 C:\Windows\Fonts 字体文件 复制到/usr/local/lib/python3.7/site-packages/matplotlib/mpl-data/fonts/ttf
然后找到python字体缓存文件
import matplotlib
print(matplotlib.get_cachedir())
输出:/root/.cache/matplotlib
删除缓存:rm -rf /root/.cache/matplotlib/*
等会运行python缓存文件就会自动生成
到这里我已经解决了
如果还没有解决
修改 matplotlibrc
/usr/local/lib/python3.7/site-packages/matplotlib/mpl-data/matplotlibrc
font.family : sans-serif
# 去掉前面的#
font.sans-serif : SimHei, Bitstream Vera Sans, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif
# 去掉前面的#,并在冒号后面添加SimHei
axes.unicode_minus : False
# 去掉前面的#,并将True改为False
作者:jsp
-------------------------------------------
个性签名:无论在哪里做什么,只要坚持服务、创新、创造价值,其它的东西自然都会来的。
如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!