python可视化的图表汉字显示成框框_【python数据可视化笔记】——matplotlib图例中文乱码以及坐标负号显示-Go语言中文社区...
matplotlib图例中文乱码以及坐标负号显示在图片的标签名,标题名或者图例中出现中文时,直接运行会出现乱码,文字显示为框框import matplotlib.pyplot as pltplt.figure()plt.title("哈哈")plt.show()快速解决办法在导入模块后加入下面代码plt.rcParams['font.sans-serif']=['SimHei']# 用来正...
matplotlib图例中文乱码以及坐标负号显示
在图片的标签名,标题名或者图例中出现中文时,直接运行会出现乱码,文字显示为框框
import matplotlib.pyplot as plt
plt.figure()
plt.title("哈哈")
plt.show()
快速解决办法
在导入模块后加入下面代码
plt.rcParams['font.sans-serif']=['SimHei'] # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False # 用来正常显示负号
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
plt.figure()
plt.title("哈哈")
plt.show()
永久解决办法
找到自己想要的中文字体
在系统中查找已有的字体(好处是不需要安装):在“C:WindowsFonts”中选择后缀为“.ttf”的中文字体并复制,这一步我选择了黑体
在 fontpalace 上下载对应版本的后缀为“.ttf”的字体,复制到“C:WindowsFonts”中安装
把字体复制到matplotlib的字体文件中
输入下面命令找到matplotlib配置文件
print(matplotlib.matplotlib_fname())
在“c:program filespython37libsite-packagesmatplotlibmpl-datamatplotlibrc”的“font/ttf”文件夹中粘贴刚刚复制的字体,然后修改配置文件matplotlibrc,去掉以下三行代码开头的#
font.family : sans-serif
font.sans-serif : SimHei, DejaVu Sans, Bitstream Vera Sans, ... # 这里注意要把字体名称SimHei放在第一个
axes.unicode_minus : False # 修改为False,作用是解决负号的乱码问题
还要注意有的字体名称并不是字体文件的名称,可以查看字体文件的属性(标题)确认一下
重新加载字体
做完以上操作后执行下面命令
from matplotlib.font_manager import _rebuild
_rebuild()
之后重启python,很多时候这样就解决了。
删除matplotlib缓存文件
如果仍然不能正常显示输入以下代码
matplotlib.get_cachedir()
在’C:Userssunch.matplotlib’找到缓存文件夹并删除该文件夹,之后重启python,如果还是不行可以试试重启电脑,我就是重启了才可以,果然没有什么是一次重启解决不了的,如果有那就两次
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)