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()
上一篇: python小程序之飘落的银杏