当前位置: 首页 > news >正文

(Windows系统)为matplotlib设置中英组合字体:中文宋体+英文Times New Roman

如果你是在配置Linux系统(如服务器)上的matplotlib的字体,请移步:matplotlib设置中英不同字体(Linux系统):中文宋体和英文Times New Roman

第1步:下载组合字体(感谢原作者)

链接: https://pan.baidu.com/s/1vIAqAYhoo-htqhdcJ4BvqQ?pwd=52k8
提取码: 52k8

第2步:将新字体的ttf文件放入matplotlib字体文件夹中

获取位置方式:

import matplotlib
import os

mpl_data_dir = matplotlib.get_data_path()
font_dir = os.path.join(mpl_data_dir, 'fonts')

print("Matplotlib 默认字体目录:", font_dir)

我的位置在:

D:\applications\anaconda\envs\nlp38\Lib\site-packages\matplotlib\mpl-data\fonts\ttf\

其中:nlp38是我的python环境名称
Alt

第3步:修改matplotlibrc文件

将262行和270行都解注释,并且在第270行添加字体:SongNTR。
(❗注意:具体行数不一定是这两行,根据下图中的位置找到)

获取位置方式:

import matplotlib
print(matplotlib.matplotlib_fname())

我的位置在:

D:\applications\anaconda\envs\nlp38\Lib\site-packages\matplotlib\mpl-data\matplotlibrc

Alt
在这里插入图片描述

第4步:修改.matplotlib缓存文件 fontlist-v330.json

打开后插入以下内容:

{
      "fname": "fonts\\ttf\\SongNTR.ttf",
      "name": "SongNTR",
      "style": "normal",
      "variant": "normal",
      "weight": 700,
      "stretch": "normal",
      "size": "scalable",
      "__class__": "FontEntry"
    },

在这里插入图片描述

获取文件位置方式:

import matplotlib
import os

cache_dir = matplotlib.get_cachedir()
print("缓存目录:", cache_dir)

# 假设文件名是 fontlist-v330.json(版本号可能不同)
fontlist_file = os.path.join(cache_dir, 'fontlist-v330.json')
print("找到字体缓存文件:", fontlist_file)

我的位置在:

C:\Users\14221\.matplotlib

第5步:重启python

第6步:matplotlib设置字体代码

import matplotlib.pyplot as plt
# 显示中文
plt.rcParams['font.sans-serif'] = ['SongNTR'] ##设置字体
plt.rcParams['axes.unicode_minus'] = False  # 解决负号显示为方块的问题

在这里插入图片描述

相关文章:

  • PHP中yield关键字的使用
  • 浏览器渲染原理与优化详解
  • Pytest的Fixture使用
  • 异常断电导致current redo损坏处理
  • 练手项目1:Dockerized Redis访问计数器
  • 【AI】MAC版本本地Stable Diffusion web ui安装
  • 深度剖析:域名与DNS安全的全方位解读
  • UFS Explorer Technician:处理最具挑战性数据恢复及取证案例
  • 【0】数据结构的绪论章
  • DS足球监控【比分直播】监控,钉钉实现自动提醒
  • MySQL-存储过程
  • 05.AI搭建preparationの(transformers01)BertTokenizer实现分词编码
  • 命令模式(Command Pattern)★
  • Linux内核调试 - Hung_task机制分析上
  • 语言模型理论基础-持续更新-思路清晰
  • 无人机螺旋桨平衡标准
  • LangChain开发(二)LangChain提示词模板Template使用
  • 2.7 进度控制习题-2
  • 【JS】反转字符串中的单词
  • 计算机网络基础:WiFi 与蓝牙的原理与应用
  • 秦洪看盘|涌现新逻辑,A股放量回升
  • 娱见 | 为了撕番而脱粉,内娱粉丝为何如此在乎番位
  • 山东滕州一车辆撞向公交站台撞倒多人,肇事者被控制,案件已移交刑警
  • 恒瑞医药通过港交所上市聆讯,最快或5月挂牌上市
  • 央视热评:从银幕到生活,好故事如何“撬动”大市场
  • 日本政府强烈反对美关税政策并要求其取消