在写论文画图的时候,我们会对图片的标题,图例等文字部分设定规定好的字体和样式。

比如,我们给所有文字都设定好了Times New Roman字体,但是Times New Roman字体是一个比较特殊的存在,有两点

  1. 跟系统默认字体有冲突
  2. 字体粗细无法改

一个例子,我们使用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相关推荐

  1. matplotlib 修改字体,解决中文显示乱码的问题

    Windows和Linux下可以通过matplotlib.rc()方法修改全局的字体,方法如下: from matplotlib import rcfont1 = {'family': 'MicroS ...

  2. python系统字体_Python matplotlib修改默认字体的操作

    matplotlib库作为Python常用的数据可视化库,默认字体居然不支持中文字体,必须得吐槽一下~ 闲言少叙,开始正文 方法1:在plot中指定prop参数 使用matplotlib.font_m ...

  3. Matplotlib修改默认字体

    Matplotlib设置字体 代码: mpl.rcParams['font.family'] = ['DejaVu Serif'] # 设置全局的字体(包括label legend 坐标轴)# 要使这 ...

  4. matplotlib的默认字体_浅谈matplotlib默认字体设置探索

    控制默认字体的设置 根据官方文档https://matplotlib.org/tutorials/text/text_props.html#default-font可知: The base defau ...

  5. cad缺失字体补全工具_CAD图纸字体不全怎么办?只要修改字体映射表就可以轻松解决了...

    原创:就说我在开发区 趣说CAD,让枯燥生动起来. 导读:字体映射表是CAD的配置文件之一,随程序启动加载,通过修改其内容,可以对缺少的字体进行替代,解决字体缺失的困扰.今天将从字体缺失现象入手,分析 ...

  6. word操作:如何修改字体(正确、规范、快捷)

    word操作:如何修改字体 我们在使用word写策划.公文.实验报告.毕业设计等等时,通常会对字体做出相关要求,包括中文字体的修改.英文字体,以及字形.字号等进行修改.那么如何正确.规范.快捷的修改文 ...

  7. python常用字体显示方框_中文变小框框?深入剖析matplotlib的字体逻辑

    作为Python下最流行的数据可视化库,matplotlib为众多不同需求的绘图任务提供了相当简单易用的接口.但时至今日(2019年7月),已经更新到3.1.x的matplotlib,仍然还会给它的不 ...

  8. linux服务器上的matplotlib中文字体设置问题(使用ttf文件)

    如果本来就没有中文字体,必须先安装并配置字体,保证有中文字体ttf的文件 配置:修改matplotlibrc配置字体 1. 首先定位matplotlib的字体库路径(我使用python进行定位) im ...

  9. python中文字体下载_解决Linux系统下python matplotlib中文字体显示问题

    最近想学习一些python数据分析的内容,就弄了个爬虫爬取了一些数据,并打算用Anaconda一套的工具(pandas, numpy, scipy, matplotlib, jupyter)等进行一些 ...

  10. matplotlib添加字体及中文乱码问题

    下载中文字体: http://www.font5.com.cn/font_download.php?id=151&part=1237887120 将下载的字体ttf文件放到matplotlib ...

最新文章

  1. Javascript s02
  2. CNCC 2019 | 计算领域年度盛会—中国计算机大会10月将在苏州举行
  3. java怎么让表格的字段相乘,excel表格怎么让数据相乘-如何在excel表格中设置乘法公式...
  4. C++常用字符串分割方法
  5. java stream filter map collector使用
  6. async/await 顺序执行和并行
  7. tt服务器系统,tt服务器
  8. Ubuntu20.04安装eBPF BCC
  9. vue/iview使用moment.js
  10. bugku中的misc题
  11. 单片机定时器一1ms12MHz_51单片机CPU结构各部件的原理详细分析
  12. 计算机学院表白情书,大学各专业的表白情书!啊,我的少女心要炸了…
  13. 我用Three.js创作游戏(一)
  14. IntelliJ IDEA 永久破解
  15. java计算机毕业设计医院远程诊断系统源代码+系统+数据库+lw文档
  16. 生成二维码附带文字信息
  17. win10忘记开机密码怎么办?
  18. springboot+mybatis+Oauth2 +vue 框架实现登录认证
  19. Vue3 jsonedit json页面编辑器
  20. 计算机控制系统直流电机闭环调速实验,4.14直流电机闭环调速实验.pdf

热门文章

  1. HttpServletResponse
  2. 如何在shell中实现 backspace
  3. RedHat9上安装Oracle9i手记(原作:hotman_x)
  4. org.apache.catalina.core.StandardWrapperValve invoke的解决
  5. Qt2D游戏开发引擎QtGameEngine使用入门9——在游戏界面中添加gui按钮文本等控件
  6. MongoDB的用户管理总结
  7. css div背景图大小,divcss如何改变背景图片大小
  8. [wordpress] Easy Custom Auto Excerpt Options 插件头图样式修改
  9. R包的安装以及安装失败的解决
  10. Sliver RecyclerView 功能最强大、最好用的适配器