在这之前先推荐这个博主的解决方案,看起来真可能解决!:https://blog.csdn.net/wtySama/article/details/105316240
而我因为使用的是实验室的服务器,并非本地环境,没有user的权限,不能删除缓存文件,所以说只能另辟蹊径。
1. 查看环境中能用的字体(这个也是抄别人的)
import matplotlib.pyplot as plt
from matplotlib import font_manager
for font in font_manager.fontManager.ttflist:
# 查看字体名以及对应的字体文件名
print(font.name, '-', font.fname)
2. 把得出的结果图1,复制给gpt或者kimi之类的,询问它们哪些可以显示中文:
图1 代码运行结果
图2 询问gpt的结果
3. 照着图2的结果一个一个地试,画图,最后博主试到图中这个就能显示中文了。。。
详细的代码类似:在import语句之后插入代码,
import matplotlib.pyplot as plt
# 设置matplotlib的字体
plt.rcParams['font.family'] = 'Noto Sans CJK JP' # 这里使用了
plt.rcParams['font.size'] = 12
然后再正常地画图,不用加任何的参数!例如博主的目的:
plt.xlim(0, 250)
plt.xlabel('Time')
plt.ylabel('功率(Kw)')
plt.legend()
plt.show()
##################################最终结果####################################
图3 正确的中文结果
#############################################################################
ps:博主也试着下过SimHei.ttf,但是最终都不是很能成功,没办法出此下策,但是只要能显示中文,不就行了?反正也能解决问题!
下面是原来的样子: