200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 【经验】一劳永逸解决中文显示是大方块 不是乱码(最详细解释 有图有真相)

【经验】一劳永逸解决中文显示是大方块 不是乱码(最详细解释 有图有真相)

时间:2018-11-18 16:44:18

相关推荐

【经验】一劳永逸解决中文显示是大方块 不是乱码(最详细解释 有图有真相)

问题描述

大家好,我们在用 networkx 显示中文的时候,会发现不能显示中文。

解决办法1

下载附件中的字体;在 jupyter notebook 中执行

import matplotlibprint(matplotlib.__path__)

找到 matplotlib 的路径,然后 cd 到这个路径。 cd 到这个路径之后,继续 cd,cd 到 mpl-data/fonts/ttf 这个路径。 然后把DejaVuSans.ttf这个文件换成我们刚刚下在的文件,遂试图找到matplotlib调用的字体文件,还真找到了。因为matplotlib默认调用的为DejaVuSans.ttf字体文件,只要从windows拷贝一个你想要的字体文件,替换DejaVuSans.ttf,就没问题了。

$ mv SimHei.ttf nx.draw(city_graph, city_location, with_labels=True, node_size=10).ttf

其中,用到的 ttf 字体。

在Windows系统C:\Windows\Fonts 路径下

解决办法2

直接把Windows系统C:\Windows\Fonts 路径下所有·文件复制粘贴到(找到 matplotlib 的路径,然后 cd 到这个路径。 cd 到这个路径之后,继续 cd,cd 到 mpl-data/fonts/ttf 这个路径)

plt.rcParams['font.sans-serif'] = ['SimHei'] # 可以选用任何已经存在的字体

参考

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。