ubuntu下matplotlib中文乱码问题
主要原因是matplotlib安装在ubuntu上没有中文的ttf字体,所以画图出来中文全是方块,试遍了网上的方法都不行,最后找到这两篇博客结合起来顺利解决问题
https://blog.csdn.net/lucky__ing/article/details/78699198
https://blog.csdn.net/qq_37046330/article/details/83113496
1、先下载个中文字体 mysh.ttf
2、把上面的那个文件放在matplotlib字体文件夹,如果你找不到matplotlib安装文件夹,可以先打开python,然后使用命令
import matplotlib
print(matplotlib.__file__)
就会输出matplotlib的安装位置,例如位置为/usr/local/lib/python3.5/dist-packages/matplotlib,那就把字体文件放在/usr/local/lib/python3.5/dist-packages/matplotlib/mpl-data/fonts/ttf/里面
3、删除matplotlib缓存文件夹内所有的东西。一般在~/.cache/matplotlib,如果不知道在哪儿,打开python,使用以下命令就可以输出
import matplotlib
print(matplotlib.get_cachedir())
4、替换默认字体
在matplotlib中有默认使用的字体,我们所需要做的就是把默认字体替换为中文字体。我们使用命令cd进入到matplotlib字体存放路径下也就是我们之前所记的路径1,例如:cd /home/lhf/.local/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/ttf 在进入matplotlib 字体路径后ls指令后我们将可以看到里面的所有字体,其中DejaVuSans.ttf为matplotlib默认字体, msyh.ttf是我们复制过去的即将使用的字体。我们将matplotlib默认的字体文件改名为“uondamDejaVuSans.ttf”命令为(1),将msyh.ttf改名为“DejaVuSans.ttf”命令为(2)
(1)sudo mv DejaVuSans.ttf quondamDejaVuSans.ttf
(2)sudo mv msyh.ttf DejaVuSans.ttf
然后就解决了问题。
上一篇: 基数排序+桶排序
下一篇: 小甲鱼 排序算法 冒泡排序
推荐阅读
-
PHP json_encode中文乱码问题的解决办法_PHP
-
windows internet explorer Windows下利用Gvim写PHP产生中文乱码问题解决方法
-
解决MySQL中文乱码的问题
-
Windows下利用Gvim写PHP产生中文乱码问题解决方法
-
php开发 pos打印中文乱码,求高人指点下
-
【原创】jpgraph中文乱码问题的解决
-
Oracle数据库 sqlplus命令下 使用backspace键乱码问题!
-
PHP中使用file_get_contents抓取网页中文乱码问题解决方法
-
关于Cookie中带有中文乱码报错的问题解决
-
Mysql刷库脚本中带中文,读取出现乱码的问题_MySQL