matplotlib设置Times New Roman字体

编程入门 行业动态 更新时间:2024-10-06 22:19:05

matplotlib设置Times New Roman<a href=https://www.elefans.com/category/jswz/34/1770720.html style=字体"/>

matplotlib设置Times New Roman字体

记录一下调用新字体的过程。

Linux下激活python环境

python

寻找存放字体的文件夹:

import matplotlib    
print(matplotlib.matplotlib_fname())

返回的是path_to/matplotlib/mpl-data/matplotlibrc。

在mpl-data/目录下有个fonts/ttf/文件夹,这个文件夹是专门存放字体的。

查看一下是否有Times New Roman的字体文件:

import matplotlib.pyplot as plt
from matplotlib import font_managerfor font in font_manager.fontManager.ttflist:# 查看字体名以及对应的字体文件名print(font.name, '-', font.fname)

如果fonts/目录没有对应的字体文件的话,请到自己的Windows电脑C:/Windows/Fonts 文件夹下面寻找如下字体,然后搬到Linux系统的上述目录里面去。

清除缓冲:

缓存文件会在重启后自动生成的一个文件。

import matplotlib    
print(matplotlib.get_cachedir())
rm -rf [输出的目录]

Note:如果是在jupyter notebook里需要调用到新的字体文件,记得重启一下电脑。

运行如下代码检查是否可以正常调用新的字体文件:

# coding=utf-8import numpy as np
import matplotlib.pyplot as plt
from matplotlib import rcParams
rcParams['font.family']='sans-serif'
plt.rcParams['font.sans-serif'] = ['Times New Roman']  # 如果要显示中文字体,则在此处设为:SimHei
plt.rcParams['axes.unicode_minus'] = False  # 显示负号x = np.array([1, 2, 3, 4, 5, 6])
VGG_supervised = np.array([2.9749694, 3.9357018, 4.7440844, 6.482254, 8.720203, 13.687582])
VGG_unsupervised = np.array([2.1044724, 2.9757383, 3.7754183, 5.686206, 8.367847, 14.144531])
ourNetwork = np.array([2.0205495, 2.6509762, 3.1876223, 4.380781, 6.004548, 9.9298])# label在图示(legend)中显示。若为数学公式,则最好在字符串前后添加"$"符号
# color:b:blue、g:green、r:red、c:cyan、m:magenta、y:yellow、k:black、w:white、、、
# 线型:-  --   -.  :    ,
# marker:.  ,   o   v    <    *    +    1
plt.figure(figsize=(10, 5))
plt.grid(linestyle="--")  # 设置背景网格线为虚线
ax = plt.gca()
ax.spines['top'].set_visible(False)  # 去掉上边框
ax.spines['right'].set_visible(False)  # 去掉右边框plt.plot(x, VGG_supervised, marker='o', color="blue", label="VGG-style Supervised Network", linewidth=1.5)
plt.plot(x, VGG_unsupervised, marker='o', color="green", label="VGG-style Unsupervised Network", linewidth=1.5)
plt.plot(x, ourNetwork, marker='o', color="red", label="ShuffleNet-style Network", linewidth=1.5)group_labels = ['Top 0-5%', 'Top 5-10%', 'Top 10-20%', 'Top 20-50%', 'Top 50-70%', ' Top 70-100%']  # x轴刻度的标识
plt.xticks(x, group_labels, fontsize=12, fontweight='bold')  # 默认字体大小为10
plt.yticks(fontsize=12, fontweight='bold')
# plt.title("example", fontsize=12, fontweight='bold')  # 默认字体大小为12
plt.xlabel("Performance Percentile", fontsize=13, fontweight='bold')
plt.ylabel("4pt-Homography RMSE", fontsize=13, fontweight='bold')
plt.xlim(0.9, 6.1)  # 设置x轴的范围
plt.ylim(1.5, 16)# plt.legend()          #显示各曲线的图例
plt.legend(loc=0, numpoints=1)
leg = plt.gca().get_legend()
ltext = leg.get_texts()
plt.setp(ltext, fontsize=12, fontweight='bold')  # 设置图例字体的大小和粗细# plt.savefig('./filename.svg', format='svg')  # 建议保存为svg格式,再用inkscape转为矢量图emf后插入word中
plt.show()

更多推荐

matplotlib设置Times New Roman字体

本文发布于:2024-02-28 14:24:07,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1769675.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:字体   matplotlib   Times   Roman

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!