WSL中matplotlib乱码问题

最近听说WSL很好使,能和Windows无缝对接,这几天试了一下,已经能对接Windows上的VSCode、PyCharm、Docker等工具了,这样在Windows上就无需下载Python,直接使用WSL的,感觉非常棒。

但是今天用matplotlib画图又遇到了老问题:中文乱码。因为用的是Linux上的Python解释器,所以这个应该从Linux上下手,翻看了我之前的博客后:https://blog.csdn.net/pineapple_C/article/details/111254555,一顿操作下来,没有任何作用。

我怀疑是Windows和Linux对接的问题,所以我把Windows上的字体文件搬到Linux里

Windows 的字体都在这个路径下:C:WindowsFonts

image-20210506155355417

复制一个字体文件,比如黑体到Linux中matplotlib的字体目录:\wsl$Ubuntu-20.04homepineapple.locallibpython3.8site-packagesmatplotlibmpl-datafonts tf

image-20210506155614763

修改文件:/home/pineapple/.local/lib/python3.8/site-packages/matplotlib/mpl-data/matplotlibrc

找到font.sans-serif,冒号后加上SimHei

image-20210506160425615

找到axes.unicode_minus,改为False

image-20210506160512991

最后清除一下缓存

$ rm ~/.cache/matplotlib -R

重启一下jupyter,再重新运行

image-20210506160827988

原文地址:https://www.cnblogs.com/pineapple-py/p/14773293.html