尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

matplotlib 保存pdf图时,TrueType font is missing table.

matplotlib 保存pdf图时,TrueType font is missing table.
📅 发布时间:2026/6/19 5:02:49

 

=============================

matplotlib 保存pdf 图时,TrueType font is missing table.

 E:\Eprogramfiles\Anaconda3\lib\site-packages\matplotlib\backends\_backend_pdf_ps.py:102: RuntimeWarning: Glyph 8722 missing from current font.
  font.set_text(s, 0.0, flags=ft2font.LOAD_NO_HINTING)
The PDF backend does not currently support the selected font.

 

图片

 解决方案

增加一行代码即可:

 plt.rcParams['pdf.fonttype'] = 42  # 可行
 plt.savefig(r"xxx.pdf", bbox_inches='tight')

 

好像更新ipython和matplotlib最新版本能够解决。

 

 

========================================

在使用Matplotlib保存图形时遇到“TrueType font is missing table”的错误通常是因为字体文件不完整或者缺少某些必需的表。这种问题经常发生在尝试保存图形到某些格式(如PDF或SVG)时,尤其是当字体文件(如TrueType字体)不包含所有必要的字体表时。

解决方案

1. 使用完整的字体文件

确保你使用的字体文件是完整的,特别是当你打算将其用于图形输出时。例如,如果你正在使用Windows操作系统,可以尝试使用系统中预装的字体,如Arial、Times New Roman等。

2. 指定字体路径

在Matplotlib中,你可以指定字体的路径来避免这个问题。这可以通过设置matplotlibrc配置文件或者在使用matplotlib.font_manager动态指定字体来实现。

‌使用matplotlibrc配置文件:‌

在Matplotlib的配置文件中(通常是matplotlibrc或者在你的项目目录下的matplotlibrc),你可以添加或修改以下行来指定字体路径:

font.family: sans-serif
font.sans-serif: Arial, DejaVu Sans, Liberation Sans, Bitstream Vera Sans, Computer Modern Sans Serif

确保你的字体文件路径被正确包含在列表中。

‌动态指定字体路径:‌ 

import matplotlib.pyplot as plt from matplotlib.font_manager
import FontProperties
font_path = 'path/to/your/font.ttf' # 替换为你的字体文件路径
font_prop = FontProperties(fname=font_path)
plt.title('示例标题', fontproperties=font_prop)
plt.show()

3. 安装缺失的字体表

如果你有权限修改字体文件,可以尝试使用字体编辑工具(如FontForge)来添加缺失的表。这通常不是一个推荐的方法,因为它可能会损坏字体文件或者引入其他问题。通常,更好的做法是使用一个完整的字体文件。

4. 使用支持更完整字体的格式

当你保存图形时,选择一个对字体支持更好的格式。例如,PNG或JPEG格式通常不会遇到这种问题,因为它们不依赖于字体的嵌入。如果你必须使用PDF或SVG,确保你的字体文件是完整的,并且正确地设置在Matplotlib中。 

plt.savefig('figure.pdf') # 改为PNG或JPEG以避免字体问题

总结

确保你的字体文件是完整的,并通过Matplotlib正确设置或指定字体路径。如果你频繁遇到这个问题,考虑使用支持较少字体问题的图像格式(如PNG或JPEG)。如果问题仍然存在,尝试在不同的系统或环境中测试你的代码,以排除特定环境的问题

 

相关新闻

  • 1JDBC简介
  • 出入门禁管理应用:智能高效的出入口管控解决方案
  • 对象转字典列表字典转对象

最新新闻

  • 嵌入式MCU电气特性与FLASH操作深度解析:从数据手册到稳定设计
  • 2026 郑州八大装修公司综合实力排行榜 - GrowthUME
  • 爱回收到店估价和到手价差多少?iPhone 15 Pro实测报告 - 新闻快传
  • 2026沈阳非急救转运救护车TOP5盘点|辽中同城、浑河跨桥、棋盘山山地、院区转诊首选康跃转运 - 吉修匠
  • 2026长沙防水补漏权威指南:卫生间/屋面/外墙/地下室正规施工+透明报价+避坑全攻略 - 苏易修缮
  • 爱回收靠谱吗?一个测评博主的深度复盘 - 新闻快传

日新闻

  • 5分钟掌握Python进化算法:Geatpy高性能优化工具完全指南
  • Microchip 24AA044 EEPROM选型与应用全指南:从参数解析到实战编程
  • 华为的鸿蒙到底有多牛?为什么称作遥遥领先?

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号