matplotlib设置宋体和Times New Roman体

matplotlib设置宋体和Times New Roman体

写论文时,要求图中的中文字体为宋体,英文字体为Times New Roman体。

matplotlib默认是英文字体,如果设置中文的xlabel、ylabel或者title,显示时会乱码或者变成方块,需要进行设置。

配置matplotlib

from matplotlib import rcParams
config = {
"font.family": 'serif', # 衬线字体
"font.size": 12, # 相当于小四大小
"font.serif": ['SimSun'], # 宋体
"mathtext.fontset": 'stix', # matplotlib渲染数学字体时使用的字体,和Times New Roman差别不大
'axes.unicode_minus': False # 处理负号,即-号
}
rcParams.update(config)

Ubuntu下的matplotlib添加中文支持

Windows环境下自带宋体,而Ubuntu默认无中文字体支持,需要自己添加。

  1. 在Windows中找到SimSun字体文件,默认在C:\Windows\Fonts\simsun.ttc
  2. 将该文件拷贝到Ubuntu的/usr/share/matplotlib/mpl-data/fonts/ttf目录下(可能需要root权限)
  3. 删除当前用户的matplotlib缓存:cd ~/.cache/matplotlib && rm -rf *.*
  4. 关闭已打开的python解释器,重新import matplotlib并按上面介绍的方法配置matplotlib即可

参考:

https://zhuanlan.zhihu.com/p/118601703

https://blog.csdn.net/jeff_liu_sky_/article/details/54023745

posted @   TruthHell  阅读(6505)  评论(2编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示