matplotlib绘图实现中文宋体和英文Times New Roman
之前看了不少博客,实现了在matplotlib中分别设置中文宋体和英文Times New Roman,下面这个图就用这种方式,将坐标轴刻度设置为Times New Roman,坐标轴标题显示为宋体。
但是这种方法不能解决当中文和英文在一起的时候的字体区分问题。这个图里的图例和ylabel里的这个百分号就存在这个问题。
查了一圈资料,没发现特别完美的解决方法,只能依靠这个回答等效替代的方法来近似解决这个问题,即寻找一种中文字体像宋体、英文字体像Times New Roman的字体。根据这个回答,感觉华光书宋的效果最佳,所以将全局字体设置为华光书宋,即可解决这个问题。以下记录解决步骤:
1. 找到系统里的华光书宋,并复制到matplotlib的font文件夹下。
1.1系统字体目录:C:\Windows\Fonts,找到其中的这个图标:(如果没有的话去网上下一个,然后进行下一步)
1.2matplotlib字体目录,如果不知道的话,可以通过以下代码查询:
matplotlib.matplotlib_fname()
比如我的输出为:'d:\\Program Files\\Anaconda3\\lib\\site-packages\\matplotlib\\mpl-data\\matplotlibrc'
然后将上面那个字体文件,拷到fonts目录下的ttf文件夹里面。其实拷过去就发现,这个字体文件实际的名字叫做HGSS_CNKI.TTF,记住这个名字,后面要用
2. 修改matplotlib的matplotlibrc文件
2.1 回到1.2中的d:\Program Files\Anaconda3\lib\site-packages\matplotlib\mpl-data\目录,用文本编辑器打开matplotlibrc这个文件
2.2 搜索font.serif,找到下图位置:
将华光书宋字体的名称“HGSS_CNKI”添加到font.serif这一行。
3. 清除matplotlib缓存,重启IDE
3.1 用以下代码查询matplotlib的缓存位置
print(matplotlib.get_cachedir())
比如我的是:C:\Users\Administrator\.matplotlib
打开这个目录,直接把这个.matplotlib文件夹删掉
3.2 重启以下python IDE
3.3 用rcParams设置一下全局字体,把我们的华光书宋加进去
config = {'font.family':'HGSS_CNKI',
}
plt.rcParams.update(config)
4. 愉快画图!
以下是实现效果,后续没有任何位置再重复设置字体了。
matplotlib绘图实现中文宋体和英文Times New Roman相关推荐
- matplotlib:实现中文“宋体”,英文“Times New Rom”
matplotlib:实现中文"宋体",英文"Times New Rom" 操作系统是mac 安装simsun 下载字体SimHei.ttf SimSu ...
- Python(matplotlib)画图设置正斜体,及中文宋体、英文Timenews--用于论文画图,导出高清晰图像
一.设置图像x.y两轴及文本标签内容为中文宋体.英文Timenews,字体为10.5磅 在代码钱加入: config = {"font.family": 'serif'," ...
- python Matplotlib绘图实现:中文宋体,英文新罗马(科研人必备);解决Font family [‘sans-serif‘] not found.
1.合并字体 将电脑自带的宋体和Times New Roman字体合并为新字体,我命名为SongNTR.ttf https://github.com/nowar-fonts/Warcraft-Font ...
- Ubuntu中Matplotlib绘图的中文乱码
问题引入 在Ubuntu系统中使用Matplotlib绘图,如若没有进行相关配置可能会遇到中文乱码问题. 使用以下代码作图. import matplotlib matplotlib.use('Agg ...
- matplotlib 绘图 显示中文
参考: Matplotlib中正确显示中文的四种方式 在 matplotlib 中无法直接显示中文(比如使用: plt.xlabel(), plt.ylabel, plt.title()等) from ...
- (转发)python3用matplotlib绘图出现中文乱码的问题
from pandas import Series,DataFrame import matplotlib.pyplot as plt from pylab import mpl mpl.rcPara ...
- matplotlib绘图输出中文字体【可以使用自己下载的字体】
使用的字体是毛体 下载地址:http://downsc.chinaz.net/Files/DownLoad/font2/ss.rar import matplotlib.pyplot as plt f ...
- python matplotlib绘图显示中文
plt.rcParams['font.sans-serif']=['SimHei'] plt.rcParams['axes.unicode_minus'] = False
- Python matplotlib绘图如何显示中文的问题【有报错没有解决】
一文详解matplotlib的配置文件以及配置方式 主要介绍路径问题和配置文件相关介绍 linux安装字体库(simSun为例)可以在终端中显示中文 Matlab绘图中下标.斜体及希腊字母的使用方法 ...
- Matplotlib 中文宋体 英文 Times New Roman 设置
安装宋体 查找plt安装目录: locate -b '\mpl-data' 得到: /usr/local/lib/python2.7/dist-packages/matplotlib/mpl-data ...
最新文章
- 大数据分析处理框架——离线分析(hive,pig,spark)、近似实时分析(Impala)和实时分析(storm、spark streaming)...
- cocos2dx andoroid切换后台后资源重载
- struts2控制标签(一)选择标签,iterator标签,append标签
- MongoDB 数据库、集合创建删除与文档插入
- elementui在vue校验表单失效的原因之一(当表单含有一到多个对象)
- m 文件 dll matlab 中调用_利用USO服务将特权文件写入武器化
- linux教程 sed命令的用法,Linux基础教程之文件三剑客sed命令用法详解
- 滴滴自动驾驶首轮融资超5亿美元 加大研发投入 助力“新基建”
- 详细分析开源软件 ExifTool 的任意代码执行漏洞 (CVE-2021-22204)
- 各种同步方法性能比较(synchronized,ReentrantLock,Atomic)
- 基于SSM疫情信息爬取与分析系统
- 计算一个文件下的所有视频总时长
- STM32控制AD7124采集调试流程
- 两款投屏和跨屏协作软件
- mac免费的虚拟机怎么安装?VMware虚拟机免费获取教程
- Linux内存卡槽故障判断,内存插槽损坏的三种常见故障
- table(单击行,把当行的单选按钮(radio)设为选中状态,并应用当前样式)
- Python 打造微信群聊天机器人(带操作界面)
- POI-HSSFWorkbook合并单元格
- Chrome浏览器首页被hao123劫持的解决办法
热门文章
- 一文详解NGram语言模型以及困惑度perplexity
- gloox1.0使用Emai格式的账号登录
- office2007设置默认粘贴为选择性粘贴
- Latex录入参考文献bib.bib文件
- zynq-7000系列基于zynq-zed的vivado初步设计之使用jtag-uart(MDM)
- 三星6818芯片火焰报警器驱动的编写
- ASP.NET2.0 ReportingServices,报表灵魂的收割者(一)【月儿原创】
- 毕业设计成品价格_一套毕业设计多少钱
- Python:实现monte carlo蒙特卡罗算法(附完整源码)
- bluefish4框架平台