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
-------------------------------------------
个性签名:无论在哪里做什么,只要坚持服务、创新、创造价值,其它的东西自然都会来的。
如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
2018-05-10 cx_Oracle读取Oracle数据库中文乱码问题解决