一般情况下,matplotlib绘图不支持输入中文
label
以及legend
等。
如下的四种方法可以解决此类问题:
Way 1:动态设置参数
from matplotlib import pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei'] # 显示中文标签
plt.rcParams['axes.unicode_minus'] = False # 显示负号
# 负号是随着原字体正常显示的,需将配署文件中axes.unicode minus : True修改为False
Way 2:定义字典
import matplotlib
font = {'family' : 'SimHei',
'weight': 'bold',
'size': 'larger'}
matplotlib.rc("font",**font)
# 以上代码等价matplotlib.rc("font",family='SimHei',weight="bold")
Way 3:指定系统字体
from matplotlib.font_manager import FontProperties #step1
font = FontProperties(fname='C:/Windows/Fonts/SimHei.ttf', size=14) #step2
plt.plot([10, 20], [20, 40])
plt.title('显示中文', fontproperties=font) #step3
plt.show()
Way 4:修改配置文件matplotlibrc
#font.family : sans-serif
#font.sans-serif : Bitstream Vera Sans, Lucida Grande, Verdana, Geneva, Lucid, Anal, Helvetica, Avant Ga
⭐️ Happy to solve that in my first try!
参考博客:matplotlib显示中文的方法