matplotlib画图时,每句文本只使用一种字体进行显示。Times New Roman英文字体和宋体为常用字体,为同时显示这两种字体,翻阅了很多文章,终于找到一种完美的解决方案。即:合并中英文字体。

一、合并步骤描述

  1. 首先,下载并解压合并工具(工具链接: GitHub - nowar-fonts/Warcraft-Font-Merger: Warcraft Font Merger,魔兽世界字体合并/补全工具。)。
  2. 其次,根据Github页面提示,合并新罗马字体(times.ttf)与宋体(simsun.ttc),两种字体在Win10系统下的文件夹位置为:"C:/Windows/Fonts"。合并后的字体文件路径可查看Github说明,默认为"out.ttf"。

为方便读者,给出合并这两种特定字体的批处理脚本(简化查找字体并拖动文件的步骤)。直接运行即可

  • 先在合并工具文件夹内,使用新建记事本文件然后改后缀名的方式,新建一个"a.bat"文件,注意后缀名是bat,不是txt!否则无法通过双击运行该文件。
  • 右键编辑bat文件,将以下内容复制到bat文件里,并保存该文件
%~d0
cd "%~dp0".\otfccdump.exe --ignore-hints -o base.otd "C:\Windows\fonts\times.ttf"
.\otfccdump.exe --ignore-hints -o ext.otd "C:\Windows\fonts\simsun.ttc".\merge-otd.exe base.otd ext.otd.\otfccbuild.exe -q -O3 -o tnw+simsun.ttf base.otddel base.otd ext.otdpause
  • 双击运行"a.bat"文件,合并后的文件在文件夹内,名称为"tnw+simsun.ttf"

注:以上工具提供和合并后字体的蓝秦云链接。合并工具、合并字体

二、效果查看

通过编写Python代码检查合并效果:

from matplotlib import font_manager
from matplotlib import rcParams
import os# 字体加载
font_path = "Your font file's path."
font_manager.fontManager.addfont(font_path)
prop = font_manager.FontProperties(fname=font_path)
# print(prop.get_name())  # 显示当前使用字体的名称# 字体设置
rcParams['font.family'] = 'sans-serif' # 使用字体中的无衬线体
rcParams['font.sans-serif'] = prop.get_name()  # 根据名称设置字体
rcParams['font.size'] = 10 # 设置字体大小
rcParams['axes.unicode_minus'] = False # 使坐标轴刻度标签正常显示正负号# 图片显示
if __name__ == '__main__':import matplotlib.pyplot as pltplt.title("宋体Times New Roman")plt.show()

参考阅读:知乎

解决matplotlib(plt)的中英文字体混显问题相关推荐

  1. 成功解决matplotlib绘图中描述性字体特殊符号(比如数值的右上角标和右下角标表示)

    成功解决matplotlib绘图中描述性字体特殊符号(比如数值的右上角标和右下角标表示) 目录 解决问题 解决思路 解决方法 解决问题 matplotlib绘图中描述性字体特殊符号(比如数值的右上角标 ...

  2. python不能保存中文_Python 关于matplotlib无法显示中文字体的解决方法

    #### 以下面的例子说明如何解决matplotlib画图中出现中文字体无法显示问题 要画出10-12点气温变化的图像 ``` from matplotlib import pyplot as plt ...

  3. matplotlib 中文_Python 关于matplotlib无法显示中文字体的解决方法

    #### 以下面的例子说明如何解决matplotlib画图中出现中文字体无法显示问题 要画出10-12点气温变化的图像 ``` from matplotlib import pyplot as plt ...

  4. Mac字体路径,解决matplotlib中文显示问题,超级好用~

    不需要用fc-list,找到字体路径,解决matplotlib中文显示问题. 1.找到字体路径 mac字体的路径一般都是在:/System/Library/Fonts 下 如果不放心可在:访达> ...

  5. linux plt.show不显示图片,解决matplotlib库show()方法不显示图片的问题

    解决matplotlib库show()方法不显示图片的问题 最近使用python里的matplotlib库绘图,想在代码结束时显示图片看看,结果图片一闪而过,附上我原来代码: import matpl ...

  6. 用matplotlib绘制带误差的条形图及中英文字体设置

    1 #!/usr/bin/env python3 2 3 ## 以下是一个带误差条的条形图的例子,演示了误差条形图的绘制及中英文字体设置 4 import numpy as np 5 import m ...

  7. win7字体_onenote无法同时或分别设置默认的中英文字体,如何解决?

    onenote中只能设置中文字体,英文字体只能用默认的"Calibri",中英文和数字混排时,效果极差,极其烦人.是否有办法同时或分别设置onenote中.英文字体呢?办法是有的. ...

  8. Py之Matplotlib:python包之Matplotlib库图表绘制经验总结(中英文字体修改、横坐标文字进行横/纵向显示、控制坐标轴范围等)之详细攻略

    Py之Matplotlib:python包之Matplotlib库图表绘制经验总结(中英文字体修改.横坐标文字进行横/纵向显示.控制坐标轴范围等)之详细攻略 目录 1.Matplotlib库图表绘制包 ...

  9. matplotlib 无法显示中文字体的解决方法

    matplotlib 无法显示中文字体的解决方法 参考文章: (1)matplotlib 无法显示中文字体的解决方法 (2)https://www.cnblogs.com/lingLongBaby/p ...

最新文章

  1. JAVA try...catch...finally中的执行顺序和return语句
  2. 服务器端会话技术Session|| Session的原理||Session的细节||session的钝化session的活化||session的特点||session与Cookie的区别
  3. 怎么证明权重不相同的加权无向图的最小生成树是唯一的 (图论)
  4. 汇编 debug调试没有执行对应文件源码指令---》失灵---》正确使用debug第一步
  5. 动态生成表格、隐藏表格、选中删除任意行、jquery、输入验证
  6. facebook, twitter,QQ, google +1, linkedin, disqus,gigya 按钮Network (登录)
  7. 你想过没有,学校从来没教过你怎么赚钱
  8. 同盾“声纹识别建模大赛”首榜揭晓,成绩已达工业级一流水平!
  9. java cp命令:命令行指定需要加载的类classpath
  10. Fish 环境下如何安装 nvm
  11. 使用BackTrack4清除/修改Windows用户密码
  12. 一张图读懂中国产业链的变化与机会
  13. iOS 音乐播放 Swift
  14. 推荐几个自己用过的软件测试博客论坛
  15. 终其一生只是个普通人,你会后悔吗?
  16. 服务器dns被劫持如何修复,dns劫持,教您DNS被劫持如何修复
  17. 计算机电脑为什么0无法输入,电脑浏览器网页无法输入文字该怎么办?
  18. 非微信官方网页解决方法
  19. Mysql集群高可用之mha
  20. 本文出自沉默王二的博客,转载必须注明出处。技术交流群 120926808

热门文章

  1. BS架构网页响应时间参考
  2. 从零学Java(9)之修饰符,小AD竟打起了钱的主意!
  3. word文件打开密码如何找回
  4. 刚走上工作岗位的程序员——如何看待业务和技术
  5. JS实现3D旋转图片
  6. labview提高mysql读取速度_LABVIEW深入探索之MDB数据库写入速度问题。
  7. Python学习(mdb.数据库)
  8. 泪流满面之---Mr.adult,有梦想的人
  9. 说文解字----矩阵分析(一)矩阵中的空间与秩
  10. 多元相关性分析_初发儿童1型糖尿病患者甲状腺激素水平与糖脂代谢的相关性研究...