使用matplotlib修改字体之Times New Roman
在写论文画图的时候,我们会对图片的标题,图例等文字部分设定规定好的字体和样式。
比如,我们给所有文字都设定好了Times New Roman字体,但是Times New Roman字体是一个比较特殊的存在,有两点
- 跟系统默认字体有冲突
- 字体粗细无法改
一个例子,我们使用plt画图,设置字体,应用字体
# 定义字体font1
font1 = {'family': 'Times New Roman',
'weight': 'normal',
'size': 10,
}plt.figure(figsize=(8, 6))epochs = range(0, len(tmodel_train))
A, = plt.plot(epochs, a, color="saddlebrown", linestyle="-", marker="o" , label='this is a ')
B, = plt.plot(epochs, b, color="mediumpurple", linestyle="-", marker="o" , label='this is b')
C, = plt.plot(epochs, c, color="dimgray", linestyle="-", marker="o" , label='this is c')
D, = plt.plot(epochs, d, color="y", linestyle="-", marker="o" , label='this is d')# 将字体应用到图例上
legend = plt.legend(handles=[A,B,C,D], prop=font1)# 画图
plt.xlabel('Epochs', font1)
plt.gca().set_ylim(0.85,1.0053)
plt.ylabel('Accuracy', font1)
plt.legend()
plt.savefig('demo.pdf')
结果是,图例的字体并不是我们想要的Times New Roman。即图片中字体不统一。
一、解决字体不一致的方法
采用全局字体配置
将全局字体改为Times New Roman:
import matplotlib.pyplot as plt
plt.rc('font',family='Times New Roman')
二、解决Times New Roman加粗的问题
在字体设置中,weight
负责字体的粗细。用默认的字体时,weight
的变化是可以改变字体粗细的。
但是一旦把字体设定为"Times New Roman",weight就没办法调节说明框中字体的粗细。默认使用Times New Roman的时候,字体会是加粗状态。这就是问题的所在,也是比较麻烦的一个地方。
解决方案是,添加一行语句:
del matplotlib.font_manager.weight_dict['roman']
matplotlib.font_manager._rebuild()
即可将Times New Roman字体变细。
使用matplotlib修改字体之Times New Roman相关推荐
- matplotlib 修改字体,解决中文显示乱码的问题
Windows和Linux下可以通过matplotlib.rc()方法修改全局的字体,方法如下: from matplotlib import rcfont1 = {'family': 'MicroS ...
- python系统字体_Python matplotlib修改默认字体的操作
matplotlib库作为Python常用的数据可视化库,默认字体居然不支持中文字体,必须得吐槽一下~ 闲言少叙,开始正文 方法1:在plot中指定prop参数 使用matplotlib.font_m ...
- Matplotlib修改默认字体
Matplotlib设置字体 代码: mpl.rcParams['font.family'] = ['DejaVu Serif'] # 设置全局的字体(包括label legend 坐标轴)# 要使这 ...
- matplotlib的默认字体_浅谈matplotlib默认字体设置探索
控制默认字体的设置 根据官方文档https://matplotlib.org/tutorials/text/text_props.html#default-font可知: The base defau ...
- cad缺失字体补全工具_CAD图纸字体不全怎么办?只要修改字体映射表就可以轻松解决了...
原创:就说我在开发区 趣说CAD,让枯燥生动起来. 导读:字体映射表是CAD的配置文件之一,随程序启动加载,通过修改其内容,可以对缺少的字体进行替代,解决字体缺失的困扰.今天将从字体缺失现象入手,分析 ...
- word操作:如何修改字体(正确、规范、快捷)
word操作:如何修改字体 我们在使用word写策划.公文.实验报告.毕业设计等等时,通常会对字体做出相关要求,包括中文字体的修改.英文字体,以及字形.字号等进行修改.那么如何正确.规范.快捷的修改文 ...
- python常用字体显示方框_中文变小框框?深入剖析matplotlib的字体逻辑
作为Python下最流行的数据可视化库,matplotlib为众多不同需求的绘图任务提供了相当简单易用的接口.但时至今日(2019年7月),已经更新到3.1.x的matplotlib,仍然还会给它的不 ...
- linux服务器上的matplotlib中文字体设置问题(使用ttf文件)
如果本来就没有中文字体,必须先安装并配置字体,保证有中文字体ttf的文件 配置:修改matplotlibrc配置字体 1. 首先定位matplotlib的字体库路径(我使用python进行定位) im ...
- python中文字体下载_解决Linux系统下python matplotlib中文字体显示问题
最近想学习一些python数据分析的内容,就弄了个爬虫爬取了一些数据,并打算用Anaconda一套的工具(pandas, numpy, scipy, matplotlib, jupyter)等进行一些 ...
- matplotlib添加字体及中文乱码问题
下载中文字体: http://www.font5.com.cn/font_download.php?id=151&part=1237887120 将下载的字体ttf文件放到matplotlib ...
最新文章
- Javascript s02
- CNCC 2019 | 计算领域年度盛会—中国计算机大会10月将在苏州举行
- java怎么让表格的字段相乘,excel表格怎么让数据相乘-如何在excel表格中设置乘法公式...
- C++常用字符串分割方法
- java stream filter map collector使用
- async/await 顺序执行和并行
- tt服务器系统,tt服务器
- Ubuntu20.04安装eBPF BCC
- vue/iview使用moment.js
- bugku中的misc题
- 单片机定时器一1ms12MHz_51单片机CPU结构各部件的原理详细分析
- 计算机学院表白情书,大学各专业的表白情书!啊,我的少女心要炸了…
- 我用Three.js创作游戏(一)
- IntelliJ IDEA 永久破解
- java计算机毕业设计医院远程诊断系统源代码+系统+数据库+lw文档
- 生成二维码附带文字信息
- win10忘记开机密码怎么办?
- springboot+mybatis+Oauth2 +vue 框架实现登录认证
- Vue3 jsonedit json页面编辑器
- 计算机控制系统直流电机闭环调速实验,4.14直流电机闭环调速实验.pdf
热门文章
- HttpServletResponse
- 如何在shell中实现 backspace
- RedHat9上安装Oracle9i手记(原作:hotman_x)
- org.apache.catalina.core.StandardWrapperValve invoke的解决
- Qt2D游戏开发引擎QtGameEngine使用入门9——在游戏界面中添加gui按钮文本等控件
- MongoDB的用户管理总结
- css div背景图大小,divcss如何改变背景图片大小
- [wordpress] Easy Custom Auto Excerpt Options 插件头图样式修改
- R包的安装以及安装失败的解决
- Sliver RecyclerView 功能最强大、最好用的适配器