Windows11 python matplotlib 绘图中文显示错误

前言

import matplotlib.pyplot as plt
plt.xlabel("哈哈")  # 给横坐标说明
plt.ylabel("嘿嘿")  # 给纵坐标说明
plt.show()  # 显示图片

使用如上代码,绘图出现图中问题,很好解决,记录一下方法
参考博客
Windows11 python matplotlib 绘图中文显示错误_第1张图片

解决

找到matplotlib的绘图字体环境

import matplotlib
print(matplotlib.get_data_path())  # 数据路径

进入fonts\ttf文件夹,这里就是matplotlib默认的字体路径

路径:\Python310\site-packages\matplotlib\mpl-data\fonts\ttf
Windows11 python matplotlib 绘图中文显示错误_第2张图片

控制面板找到自己电脑已有的字体,如黑体
Windows11 python matplotlib 绘图中文显示错误_第3张图片
复制粘贴到刚刚的fonts\ttf,simhei就是黑体
Windows11 python matplotlib 绘图中文显示错误_第4张图片
代码中新增两行

import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['simhei'] #用来正常显示中文标签,新增
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号,新增
plt.xlabel("哈哈")
plt.ylabel("嘿嘿")
plt.show()

绘图结果
Windows11 python matplotlib 绘图中文显示错误_第5张图片

附加

如果电脑没有这些自带的字体,直接网上下载即可,如
git clone https://github.com/StellarCN/scp_zh.git,里面的fonts里就有一些字体,如simsun宋体,simhei黑体,simkai楷体,丢到matplotlib的绘图字体环境里去就行了

你可能感兴趣的:(日常问题,matplotlib,python,中文乱码)