欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

matplotlib中,设置显示中文字体、正负号

程序员文章站 2022-03-21 11:14:07
...

方法一: 使用系统的字体

先查看你的系统有哪些字体:运行脚本

import matplotlib
a=sorted([f.name for f in matplotlib.font_manager.fontManager.ttflist])

for i in a:
    print(i)

 然后选择一种需要的中文字体。如:SimHei

import numpy as np
from matplotlib import pyplot as plt

x = np.arange(-11,11)
y = 2*x+5
plt.rcParams['font.sans-serif']=['SimHei'] #指定默认字体 SimHei为黑体
plt.rcParams['axes.unicode_minus']=False   #用来正常显示负号
plt.title('我是题目')
plt.xlabel('x axis caption')
plt.ylabel('y axis caption')
plt.plot(x,y)
plt.show()

 

部分的字体解释,前提是字体有在你的系统中:

黑体 SimHei                                         微软雅黑 Microsoft YaHei

微软正黑体 Microsoft JhengHei            新宋体 NSimSun

新细明体 PMingLiU                              细明体 MingLiU

标楷体 DFKai-SB                                 仿宋 FangSong

楷体 KaiTi                                             仿宋_GB2312 FangSong_GB2312

楷体_GB2312 KaiTi_GB2312

 

方法二:导入字体包的方式

先从这个地址下载黑体的字体包:https://www.fontpalace.com/font-details/SimHei/    (改地址需要fq)

或者从windows中的C:\Windows\Fonts   找到你需要的中文字体包。

把字体包放到你的py文件同目录下。

在代码中设置字体包的路由如下:

import numpy as np
from matplotlib import pyplot as plt
import matplotlib

zhfont = matplotlib.font_manager.FontProperties(fname="SimHei.ttf") # 指定字体包的路由

x = np.arange(-11,11)
y = 2*x+5
plt.title('我是题目',fontproperties=zhfont)  # 选择自定义字体
plt.xlabel('x axis caption')
plt.ylabel('y axis caption')
plt.plot(x,y)
plt.show()