Python - matplotlib库 - 中文字体设置
程序员文章站
2022-03-21 11:42:37
...
Python - matplotlib库 - 中文字体设置
在matplotlib绘制折线图柱状图时,如果对x,y,图表标题,直接使用plot.xlabel(“时间”);plot.(ylabel(“范围”)进行命名,这时显示的不是中文而是空格。
解决方法如下:
方法一(全局设置):
导入matplotlib库,使用mpl.rcParams[]进行配置即可
#导入matplotlib库
import matplotlib as mpl
#配置之后便可使用
mpl.rcParams['font.family']='SimHei'
mpl.rcParams['font.sans-serif']=['SimHei']
mpl.rcParams['axes.unicode_minus']=False # 正常显示负号
#可使用该例子查看效果
from matplotlib import pyplot as plt
plt.plot([1,2,3],[1,2,3])
plt.title('例子')
plt.xlabel('时间')
plt.ylabel('范围')
plt.show()
方法二(局部设置):
该方法需要自行百度下载simhei.ttf文件很简单,还可以自行设置字体的字号等。局部设置的意思是可对x,y轴设置不同的字体字号。
simhei.ttf下载地址:http://www.downcc.com/font/7665.html
(下载时注意别点到辣鸡流氓软件)
#配置中文字体
#导入matplotlib.font_manager
from matplotlib.font_manager import FontProperties
#代码文件和ttf文件在同一文件夹下可使用绝对地址
#当代码和simhei.ttf文件不在同一个文件夹下时需使用相对地址
font = FontProperties(fname=r"simhei.ttf", size=14)
#相对地址
font1 = FontProperties(fname=r"c:\windows\fonts\STHUPO.TTF")
font2 = FontProperties(fname=r"c:\windows\fonts\STCAIYUN.TTF")
#可使用该例子查看效果
from matplotlib import pyplot as plt
plt.plot([1,2,3],[1,2,3])
#像设置不同字体时fontpropert=font1或font2
plt.title('例子', fontproperties=font))
plt.xlabel('时间', fontproperties=font))
plt.ylabel('范围', fontproperties=font))
plt.show()
推荐阅读
-
Python matplotlib库基本二维绘图
-
Python利用matplotlib.pyplot绘图时如何设置坐标轴刻度
-
Python Matplotlib库安装与基本作图示例
-
Python第三方库——Matplotlib_绘制数据的均值和方差图
-
Python matplotlib画图与中文设置操作实例分析
-
Python画柱状统计图操作示例【基于matplotlib库】
-
python docx 中文字体设置的操作方法
-
学习python中matplotlib绘图设置坐标轴刻度、文本
-
Python使用matplotlib模块绘制图像并设置标题与坐标轴等信息示例
-
Python利用matplotlib.pyplot绘图时如何设置坐标轴刻度