python中绘图时,如果标签或者标题是中文,最后绘出来的图中的文字会被方框替代。
第一种:
import matplotlib
matplotlib.rcParams['font.sans-serif'] = ['SimHei'] # 显示中文
# 为了坐标轴负号正常显示。matplotlib默认不支持中文,设置中文字体后,负号会显示异常。需要手动将坐标轴负号设为False才能正常显示负号。
matplotlib.rcParams['axes.unicode_minus'] = False
第二种:使用微软雅黑字体
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['Microsoft YaHei'] # 使用微软雅黑字体
plt.rcParams['axes.unicode_minus'] = False # 处理负号显示异常
第三种:使用自定义字体文件
import matplotlib.pyplot as plt
from matplotlib.font_manager import FontProperties
# 替换成你自己的字体文件路径
custom_font = FontProperties(fname='path/to/your/custom_font.ttf')
plt.rcParams['font.sans-serif'] = [custom_font] # 使用自定义字体
plt.rcParams['axes.unicode_minus'] = False
第四种:使用rcParams更新
import matplotlib.pyplot as plt
# 更新rcParams配置,字体和负号设置
plt.rcParams.update({'font.size': 12, 'font.family': 'SimHei', 'axes.unicode_minus': False})
这些方法可以根据你的需要选择,尝试不同的字体或者自定义字体文件,看看哪一种适合你的项目。希望对你有帮助!