解决ubuntu18环境matplotlib无法正常显示中文

首先看看系统装了中文字体没?命令:

fc-list :lang=zh

如果没安装,需要去下载或者从win复制一份到ubuntu,

在/usr/share/fonts文件夹下创建一个chinese文件夹,把字体文件放下面

然后依次运行命令

  • sudo mkfontscale
  • sudo mkfontdir
  • fc-cache

到这里安装已完成,检查是否成功,运行fc-list :lang=zh

---------------------------------

接下来找到matplotlib安装的位置去修改配置文件,可以在python中运行下面的代码

import matplotlib
matplotlib.matplotlib_fname()

找到具体路径……/site-packages/matplotlib/mpl-data/matplotlibrc

然后进入vim ,修改matplotlibrc文件

  • 先找到 #font.family,去掉这行开头的“#”,使其生效 
  • 将sans-serif替换为你安装的字体(比如SimHei,黑体),同样去掉“#”
  • 添加完字体名字,再找到#axes.unicode_minus,去掉“#”,并把“True”改成“False”,这样就可以正常显示负号

保存退出

这时候刷新脚本也不一定会正确显示,建议直接清除matplotlib缓存,运行如下命令(记得修改运行的目录)

rm -rf /home/who/.cache/matplotlib

这样就完美解决了,windows下更简单了,直接修改配置matplotlibrc文件即可

猜你喜欢

转载自www.cnblogs.com/wowon/p/12595472.html
今日推荐