解决matplotlib(plt)的中英文字体混显问题
matplotlib画图时,每句文本只使用一种字体进行显示。Times New Roman英文字体和宋体为常用字体,为同时显示这两种字体,翻阅了很多文章,终于找到一种完美的解决方案。即:合并中英文字体。
一、合并步骤描述
- 首先,下载并解压合并工具(工具链接: GitHub - nowar-fonts/Warcraft-Font-Merger: Warcraft Font Merger,魔兽世界字体合并/补全工具。)。
- 其次,根据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)的中英文字体混显问题相关推荐
- 成功解决matplotlib绘图中描述性字体特殊符号(比如数值的右上角标和右下角标表示)
成功解决matplotlib绘图中描述性字体特殊符号(比如数值的右上角标和右下角标表示) 目录 解决问题 解决思路 解决方法 解决问题 matplotlib绘图中描述性字体特殊符号(比如数值的右上角标 ...
- python不能保存中文_Python 关于matplotlib无法显示中文字体的解决方法
#### 以下面的例子说明如何解决matplotlib画图中出现中文字体无法显示问题 要画出10-12点气温变化的图像 ``` from matplotlib import pyplot as plt ...
- matplotlib 中文_Python 关于matplotlib无法显示中文字体的解决方法
#### 以下面的例子说明如何解决matplotlib画图中出现中文字体无法显示问题 要画出10-12点气温变化的图像 ``` from matplotlib import pyplot as plt ...
- Mac字体路径,解决matplotlib中文显示问题,超级好用~
不需要用fc-list,找到字体路径,解决matplotlib中文显示问题. 1.找到字体路径 mac字体的路径一般都是在:/System/Library/Fonts 下 如果不放心可在:访达> ...
- linux plt.show不显示图片,解决matplotlib库show()方法不显示图片的问题
解决matplotlib库show()方法不显示图片的问题 最近使用python里的matplotlib库绘图,想在代码结束时显示图片看看,结果图片一闪而过,附上我原来代码: import matpl ...
- 用matplotlib绘制带误差的条形图及中英文字体设置
1 #!/usr/bin/env python3 2 3 ## 以下是一个带误差条的条形图的例子,演示了误差条形图的绘制及中英文字体设置 4 import numpy as np 5 import m ...
- win7字体_onenote无法同时或分别设置默认的中英文字体,如何解决?
onenote中只能设置中文字体,英文字体只能用默认的"Calibri",中英文和数字混排时,效果极差,极其烦人.是否有办法同时或分别设置onenote中.英文字体呢?办法是有的. ...
- Py之Matplotlib:python包之Matplotlib库图表绘制经验总结(中英文字体修改、横坐标文字进行横/纵向显示、控制坐标轴范围等)之详细攻略
Py之Matplotlib:python包之Matplotlib库图表绘制经验总结(中英文字体修改.横坐标文字进行横/纵向显示.控制坐标轴范围等)之详细攻略 目录 1.Matplotlib库图表绘制包 ...
- matplotlib 无法显示中文字体的解决方法
matplotlib 无法显示中文字体的解决方法 参考文章: (1)matplotlib 无法显示中文字体的解决方法 (2)https://www.cnblogs.com/lingLongBaby/p ...
最新文章
- JAVA try...catch...finally中的执行顺序和return语句
- 服务器端会话技术Session|| Session的原理||Session的细节||session的钝化session的活化||session的特点||session与Cookie的区别
- 怎么证明权重不相同的加权无向图的最小生成树是唯一的 (图论)
- 汇编 debug调试没有执行对应文件源码指令---》失灵---》正确使用debug第一步
- 动态生成表格、隐藏表格、选中删除任意行、jquery、输入验证
- facebook, twitter,QQ, google +1, linkedin, disqus,gigya 按钮Network (登录)
- 你想过没有,学校从来没教过你怎么赚钱
- 同盾“声纹识别建模大赛”首榜揭晓,成绩已达工业级一流水平!
- java cp命令:命令行指定需要加载的类classpath
- Fish 环境下如何安装 nvm
- 使用BackTrack4清除/修改Windows用户密码
- 一张图读懂中国产业链的变化与机会
- iOS 音乐播放 Swift
- 推荐几个自己用过的软件测试博客论坛
- 终其一生只是个普通人,你会后悔吗?
- 服务器dns被劫持如何修复,dns劫持,教您DNS被劫持如何修复
- 计算机电脑为什么0无法输入,电脑浏览器网页无法输入文字该怎么办?
- 非微信官方网页解决方法
- Mysql集群高可用之mha
- 本文出自沉默王二的博客,转载必须注明出处。技术交流群 120926808