天道酬勤,学无止境

CentOS7下matplotlib(JupyterLab、Anaconda3)显示中文乱码问题

环境

  • CentOS 7.8
  • Anaconda3-2020.07-Linux-x86_64.sh,安装路径为 /root/anaconda3

问题及解决方法

安装Anaconda3后,在使用matplotlib绘图时,图片中的中文字符显示乱码,并出现提示:
findfont: Font family [‘sans-serif’] not found.
参考博文,经过摸索,解决方法如下:

1、修改matplotlib配置

修改/root/anaconda3/lib/python3.8/site-packages/matplotlib/mpl-data/matplotlibrc文件,更改三行,如下所示:

font.family         : SimHei
axes.unicode_minus  : False

记得去掉前面的“#”。
上述路径,可在python环境下使用如下命令查询:

import matplotlib    
print(matplotlib.matplotlib_fname())

2、拷贝字体文件

复制字体文件simhei.ttf至目录:
/root/anaconda3/lib/python3.8/site-packages/matplotlib/mpl-data/fonts/ttf
字体文件可从 C:\Windows\Fonts\目录下获取。

3、清空matplotlib使配置生效

rm ~/.cache/matplotlib -R

4、退出python环境,重新进入。matplotlib使用时不指定字体,即默认为SimHei,至此绘图中文乱码的问题解决。

参考博文:

Linux CentOS 7 安装字体库 & 中文字体
ubuntu下解决matplotlib生成图片中文乱码

受限制的 HTML

  • 允许的HTML标签:<a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • 自动断行和分段。
  • 网页和电子邮件地址自动转换为链接。

相关推荐
  • 快速解决Mac无法显示matplotlib中文问题(anaconda3) 小白也能看懂!!
    无法输出pyplot图例中文? 大多数人都知道,如果要在matplotlib.pyplot中正确显示中文和符号,通常我们采用: import matplotlib.pyplot as plt plt.rcParams['font.sans-serif'] = 'SimHei' plt.rcParams['axes.unicode_minus'] = False 但是在Mac上该方法会失效。 解决方法 查阅了网上的资料和结合自己的经验,总结出即使不会linux不会vim也可以轻松解决的方法(甚至不需要下载字体) 😁😁😁 1.找到matplotlibrc文件 首先按下Command ⌘ + space唤出聚焦搜索,输入matplotlibrc,直接以文稿方式打开: (通常情况下,该文件位于anaconda3/lib/python3.8/site-packages/matplotlib/mpl-data下) 2.修改三个注释 打开文件后,使用Command ⌘ + F搜索文件内容。分别搜索font.family、font.sans-serif、axes.unicode_minus这三个关键词,然后删除关键字前的#号,接着保存Command ⌘ + S并退出。 3.在python中运行以下代码重新加载 很多同学做到这就差最后一步了!在python中运行以下代码: from
  • Ubuntu18.04 解决matplotlib绘图中文乱码方法
    本博客介绍的是如何在使用 matplotlib 绘图的时候,正常显示中文。 读者可能遇到过这样的问题,使用matplotlib 绘制图像的时候,英文可以正常显示,但是中文显示不正常,一堆方块。问题原因在于默认没有中文字体库,所以解决的办法是下载中文字体,然后修改配置文件。具体方法下面将可以看到。 下载字体文件 本人使用的是 SimHei 字体,ttf 文件下载地址如下:SimHei字体下载 安装字体文件 进入到下载目录,移动或者复制字体文件到 /usr/local/share/fonts sudo cp simhei.ttf /usr/local/share/fonts 修改配置文件 注意,这里修改的是matplotlib 的配置文件,运行下面的代码,找到配置文件所在的地址: 在 Vim 的命令模式下,输入 /font.family ,回车,按 n 查找下一个,找到如图所示的行,按a 进入编辑模式,取消该行的注释(将前面的# 去掉即可)将该行修改为如图所示: 按 ESC 回到命令模式,输入 /font.serif ,回车,找到如下的行,然后将它的注释取消。最终的效果如图: 除此之外,还应该再改一个参数,不然坐标轴上的负号将无法正常显示: 按照同样的办法将axes.unicode_minus 修改为 False(默认是True)如图所示: 清空缓存: rm -rf ~/.cache
  • 解决Pycharm里matplotlib画图中文乱码问题
    我用的MacOs系统,不过Windows也大同小异 首先去下载SimHei字体: https://github.com/StellarCN/scp_zh/blob/master/fonts/SimHei.ttf 然后直接双击安装; 将下载的SimHei.ttf移动到你的matplotlib/mpl-data/fonts/ttf/下,路径全称可在Pycharm里使用下面的代码打印出来,我的是/Library/Python/3.8/site-packages/matplotlib/mpl-data/matplotlibrc/mpl-data/fonts/ttf/ import matplotlib path = matplotlib.matplotlib_fname() print(path) 然后去编辑/mpl-data/下的matplotlibrc,修改以下内容(去掉前面的#号,第三行修改为False) font.family : sans-serif font.sans-serif : SimHei, Bitstream Vera Sans, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif axes.unicode_minus:False,#作用就是解决负号'-
  • sublime运行python输出乱码_sublime text3 中 python3编译出现中文乱码解决方法
    一、乱码现象 利用sublime自带编译快捷方式ctrl+B会出现中文乱码的情况 print("没有循环数据!") print("完成循环!") 二、寻找原因 1、由于之前我已经安装了插件ConvertToUTF8,排除文本编码错误问题 2、相同的代码在插件sublimerepl搭建的解释器交互下(按F5键),能成功显示中文 。。。。。。在查找了很多案例之后发现 Anaconda插件安装之后会自动生成一个叫“Anaconda Python Builder”的编译系统,在 工具-编译系统-中可以看到 然后在这篇博客里面找到原因,原来是因为sublime读取解释器返回文本的编码不一样,于是通过下面这段代码验证: import sys print(sys.stdout.encoding)用ctrl+B进行编译,返回的是“cp936”,用repl解释器交互返回的是utf-8,说明是由于编码不一致导致的 之后新建了一个编译系统: 在Python3.sublime.build中写入下面代码 { "cmd":["C:\\Users\\jh\\Anaconda3\\python.exe", "-u", "$file"], "path":"C:\\Users\\jh\\Anaconda3\\python.exe", // 注意:路径根据自己的python安装路径而定 "file_regex": "^
  • python matplotlib.plot画图显示中文乱码的问题
    原因:matplotlib默认字体并不是中文字体。解决方法:将某中文字体设为默认首选字体,本文拟将默认字体设为 微软雅黑 。环境:win7 x64, python2.7过程:在python的安装目录中找到配置文件:%Python_Home%\Lib\site-packages\matplotlib\mpl-data\matplotlibrc (如,我的是在D:\Python32\Lib\site-packages\matplotlib\mpl-data),用任意文本编辑器打开。(最好先备份一下)找到第129行:#font.family, 将其注释去掉,冒号后面的值改为Microsoft YaHei找到第141行:#font.sans-serif, 将其注释去掉,并将Microsoft YaHei添加到冒号后面的最前面,注意还要再加一个英文逗号(,)为保险其间,到C:\Windows\Fonts\中找到 微软雅黑对应的字体文件msyh.ttf,将其复制到D:\Python32\Lib\site-packages\matplotlib\mpl-data\fonts\ttf\目录下将软件关闭后重新打开,运行程序,显示正常。来源:https://blog.51cto.com/u_15194128/2761470
  • FEniCS应用(0):初入Linux,如何在Ubuntu18.04上通过anaconda安装FEniCS有限元框架
    FEniCS安装教程官方网站:https://fenicsproject.org/download/ 对于初入Linux的小白,可以根据本教程快速完成对fenics有限元框架的安装 第一步:创建root账户 ## Ubuntu首次为root账户设置密码 sudo passwd root 然后会让你输入当前账户的密码,以及创建root账户的密码,并且确认。 第二步:Ubuntu更换国内镜像站的源,这里推荐阿里源或者中科大源 # 备份/etc/apt/sources.list文件 su mv /etc/apt/sources.list /etc/apt/sources.list.backup 此时,sources.list文件已经变为空白 #修改sources.list文件 sudo gedit /etc/apt/sources.list 此时会自动弹出空白的sources.list文件。选择下面两个源中的一个,粘贴进入sources.list中保存即可 #南科大源 deb https://mirrors.sustech.edu.cn/ubuntu/ bionic main restricted universe multiverse deb https://mirrors.sustech.edu.cn/ubuntu/ bionic-updates main restricted
  • 永久解决 matplotlib 图例中文方块错误
    永久解决 matplotlib 图例中文方块错误 问题查看当前环境的字体路径解决方法删除缓存 原文链接:https://learnku.com/articles/41886 这里对原文做了点修改,因为原文还是有点小问题的 问题 当打印图例的时候,图可以正常显示,但中文会显示方块。比如 title。然后会有个小报错: 报错描述: /Users/username/anaconda3/lib/python3.6/site-packages/matplotlib/font_manager.py: 1331: UserWarning: findfont: Font family [‘SimHei’] not found. Falling back to DejaVu Sans (prop.get_family(), self.defaultFamily[fontext])) 查看当前环境的字体路径 import matplotlib print(matplotlib.matplotlib_fname()) /Users/username/anaconda3/lib/python3.6/site-packages/matplotlib 解决方法 首先下载一个字体文件 SimHei.ttf 提取码858y。 解压字体后拷贝到 matplotlib/mpl-data/fonts/ttf 目录下面。
  • 【CentOS7.3】阿里云轻量级服务器CentOS7.3远程配置jupyterLab到浏览器访问相关问题
    文章目录 前言一、安装/配置jupyterlab1.1 安装jupyterlab1.2 配置jupyterlab——准备工作1.2.1 生成配置文件1.2.2 生成登录密码 1.3 修改配置文件`jupyter_notebook_config.py`文件1.3.1 打开配置文件1.3.2 添加配置信息1.3.3 验证 二、博主入的坑 前言 最近博主一直和阿里云轻量级服务器搞得的你情我浓的,动不动人家还给我甩脸子,这不一个问题就困扰博主许久~~~,所以终于咨询了一下搞运维相关的大学同学,此问题终于解决!!! 1、问题: 关于“CentOS7.3配置jupyterLab使其能够到浏览器中访问”问题困扰博主真的是好久好久了,终于搞定了,今天特此总结一下。 2、博主装备 阿里云轻量级服务器CentOS7.3 本地谷歌浏览器 Xshell6 3、关于CentOS7.3中安装anaconda可参考此篇博文 https://blog.csdn.net/Jiajikang_jjk/article/details/101550397 一、安装/配置jupyterlab 说明:此前提条件是——已经在CentOS7.3中安装好anaconda 1.1 安装jupyterlab 通过以下命令安装jupyterlab conda install jupyterlab 1.2 配置jupyterlab—
  • 关于Matplotlib显示中文乱码的问题
    导入自己的字体文件 可以导入自己的字体文件 from matplotlib.font_manager import FontProperties font_set = FontProperties(fname=r"simfang.ttf", size=15)#导入宋体字体文件 plt.title("柱状图",FontProperties=font_set); #图标题 plt.xlabel("x轴",FontProperties=font_set); plt.ylabel("y轴",FontProperties=font_set); 使用系统自身字体文件(推荐使用) 乱码示例: 先导入plt包 import matplotlib.pyplot as plt Windows系统 plt.rcParams['font.sans-serif']=['SimHei'] plt.rcParams['axes.unicode_minus']=False #用来正常显示负号 Mac系统 plt.rcParams['font.sans-serif']=['Arial Unicode MS'] plt.rcParams['axes.unicode_minus']=False #用来正常显示负号 请使用Mac自带的字体文件,随便下载的Windows用中文字体ttf,比如SimHei
  • 在Windows上通过命令行运行Jupyter(Running Jupyter via command line on Windows)
    问题 我已经通过Windows 10,Python 3.x安装了Jupyter $ pip install jupyter 即使我确实重新启动了终端,安装也可以正常进行。 但是要跑 $ jupyter notebook 给出以下错误 'jupyter' is not recognized as an internal or external command, operable program or batch file. 如何以及在哪里找到Jupyter的可执行文件? 回答1 如果您完全确定Python库路径在系统变量中(并且在pip安装Jupyter时可以找到该路径,则只需阅读一点),而您在Windows中仍然遇到“找不到或识别出命令”错误, 你可以试试: python -m notebook 至少对于Windows(Windows 10 Pro),拥有python -m是我可以从命令行运行Python软件包而不会遇到某种错误的唯一方法 Fatal error in launcher: Unable to create process using ' " 或者 Errno 'THIS_PROGRAM' not found 回答2 我有同样的问题,但是 py -m notebook 为我工作。 回答3 请先尝试以下两个命令之一; $ py -m notebook $ python
  • python3画图中文乱码_Matplotlib画图中文字体乱码设置
    Matplotlib画图中文字体乱码设置 一、字体基本设置 win系统会自带一些一体可直接使用 #step0:导入画图工具包 matplotlib import matplotlib.pyplot as plt #step1:手动创建一个figure对象,相当于一个空白的画布 figure = plt.figure() plt.rcParams['font.sans-serif'] = ['SimHei'] # 指定字体 plt.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题 二、其他字体: 可直接使用 plt.rcParams['font.sans-serif']=['STSong'] ## 中文宋体 plt.rcParams['font.sans-serif']=['SimHei'] ## 中文黑体 plt.rcParams['font.sans-serif']=['Kaiti'] ## 中文楷体 plt.rcParams['font.sans-serif']=['Lisu'] ## 中文隶书 plt.rcParams['font.sans-serif']=['FangSong'] ## 中文仿宋 plt.rcParams['font.sans-serif']=['YouYuan'] ## 中文幼圆 三
  • centos jupyter 安装_超级详细 centos7 安装 jupyter lab
    - 首先你服务器上面有安装python3 或者anaconda3 ## 安装python3 使用 pip3 install jupyterlab ## anaconda3 直接使用命令即可 pip install jupyterlab - 生成密钥 ipyhonfrom notebook.auth importpasswd passwd()#输入你的密码#输入你的确认密码##生成密钥##保存好密钥 - 生成jupyter lab 的配置文件 jupyter lab --generate-config - 修改配置文件 查找到响应的关键 进行 修改就可以了 如果 不是使用find 这里就教你一个快一点的查找方式 1. vi 打开文件以后 按 esc 2. 在按 : 冒号 效果图 3. 比如 要找一个 c.NotebookApp.ip 就可以使用 4.回车 就可以了, 就找到相对应的名字了,如果想查找下一个 回车之后按n键就可以找出有没有下一个了 5. 进行修改 在找到以后按 i 键进行编辑 6. 修改完之后 按键 esc : wq 保存 回车 保存完毕 1 vi ~/.jupyter/jupyter_notebook_config.py 有人都可以访问 2 c.NotebookApp.ip = '*' 3 #这里的密码填写上面生成的密钥 4 c.NotebookApp
  • Matplotlib画图中文字体乱码设置
    Matplotlib画图中文字体乱码设置 Matplotlib画图中文字体乱码设置一、字体基本设置二、其他字体:三、展示一下:四、运行结果: Matplotlib画图中文字体乱码设置 一、字体基本设置 win系统会自带一些一体可直接使用 #step0:导入画图工具包 matplotlib import matplotlib.pyplot as plt #step1:手动创建一个figure对象,相当于一个空白的画布 figure = plt.figure() plt.rcParams['font.sans-serif'] = ['SimHei'] # 指定字体 plt.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题 二、其他字体: 可直接使用 plt.rcParams['font.sans-serif']=['STSong'] ## 中文宋体 plt.rcParams['font.sans-serif']=['SimHei'] ## 中文黑体 plt.rcParams['font.sans-serif']=['Kaiti'] ## 中文楷体 plt.rcParams['font.sans-serif']=['Lisu'] ## 中文隶书 plt.rcParams['font.sans-serif']=[
  • 解决Centos7用SSH登陆显示中文乱码的问题
    原文出处:https://www.cnblogs.com/fct-notebook/p/11097865.html1、先查看服务器现有的字符集[root@dm01 ~]# locale -a在结果中找到如果没有支持的字符集就需要安装2、打开默认使用字符集的配置文件[root@dm01 ~]# vi /etc/locale.conf将内容改为LANG="zh_CN.gbk"保存退出3、生效设置[root@dm01 ~]# source /etc/locale.conf来源:https://blog.51cto.com/190242856/2662961
  • 双击打开ipynb文件
    因为ipynb文件是jupyter notebook的文件,每次打开总要先打开jupyter notebook,再更改路径,打开对应的ipynb文件,则很麻烦。 所以想用双击就直接打开ipynb文件。 双击自动打开文件 找到Jupyter Notebook的快捷方式,点击右键-属性-快捷方式-目标里,复制出来,如下图所示 C:\ProgramData\Anaconda3\python.exe C:\ProgramData\Anaconda3\cwp.py C:\ProgramData\Anaconda3 C:\ProgramData\Anaconda3\python.exe C:\ProgramData\Anaconda3\Scripts\jupyter-notebook-script.py %USERPROFILE% 把该段文本复制到一个txt文本中,替换最后的 %USERPROFILE% 为 %1,注意保留空格。 C:\ProgramData\Anaconda3\python.exe C:\ProgramData\Anaconda3\cwp.py C:\ProgramData\Anaconda3 C:\ProgramData\Anaconda3\python.exe C:\ProgramData\Anaconda3\Scripts\jupyter-notebook-script
  • matplotlib中文字体乱码 尤其是Axes3D
    matplotlib中文字体乱码 尤其是Axes3D 乱码的情况通常是因为你没有安装响应的字体,所以只需要下载对应字体,并正确配置即可。 首先,下载字体:https://github.com/StellarCN/scp_zh/blob/master/fonts/SimHei.ttf 这里给出来的是黑体。 其次,需要让matplotlib找到字体,这里有两种方案,第一种,直接把字体放到matplotlib库的目录里,第二种放到你项目的目录里,具体操作如下。 1、放到matplotlib目录里 可以解决Axes3D乱码问题 首先用下面的代码找到你matplotlib字体的目录: import matplotlib print(matplotlib.matplotlib_fname()) 上面的输出应该如下: xxxx/site-packages/matplotlib/mpl-data/matplotlibrc 对应字体目录应该是: xxxx/site-packages/matplotlib/mpl-data/fonts/ttf/ 所以只需要把上面下载的SimHei.ttf放到该目录下即可。 然后在代码里面用如下的代码就可以找到了: import matplotlib matplotlib.rcParams['font.family'] = 'SimHei' 这种方案因为是全局的
  • windows永久解决matplotlib画图中文显示问题
    1.在你的jupyter中写入如下代码 import matplotlib matplotlib.matplotlib_fname() 'c:\\programdata\\anaconda3\\envs\\ai\\lib\\site-packages\\matplotlib\\mpl-data\\matplotlibrc' 2.打开matplotlibrc后,在字体的那一块代码前面输入以下代码:195行左右 font.family : sans-serif font.sans-serif : simhei axes.unicode_minus : False 3.在mpl-data目录下找目录fonts下的ttf,然后把你下载的字体放进去 4.测试 import matplotlib.pyplot as plt import random # 画出温度变化图 # 0.准备x, y坐标的数据 x = range(60) y_shanghai = [random.uniform(15, 18) for i in x] # 1.创建画布 plt.figure(figsize=(20, 8), dpi=80) # 2.绘制折线图 plt.plot(x, y_shanghai) # 增加以下两行代码 # 构造x轴刻度标签 x_ticks_label = ["11点{}分".format(i)
  • 2020-09-26 安装jupyterlab及各种Extension扩展插件的记录
    2021-02-08补充 jupyterlab最新版本为3.0.7 pip install -U jupyterlab 可以升级到最新版章节索引插件3.0已经默认自带,且不存在cell中的章节目录只能获取到首个的bug部分插件可能不支持3.0版本 如果你装的插件较多,请慎重考虑将lab从2.0迭代到3.0,而是再等等后续插件可能逐渐会变得可以无需通过nodejs, 可以直接pip安装jupyterlab是支持gui式的debugger在cell内逐行调试的, 详见这里, 通过这位的方法成功用上了debug.操作界面提供多语言支持,且已存在中文汉化包可通过whl安装试用详见这里, 测试安装也成功了比较惊喜的是kite速度提升了, 从上次测试的等半天出不来补全,到这次变成最多1-2s已经基本可用了, https://www.kite.com/download/官网下载exe安装,然后pip install "jupyterlab-kite>=2.0.2"后重启lab就行了 以下内容为之前2.2.8版本安装记录,3.0版本详见上面的两个“详见这里”,有来自其他作者的详细文档,就不重复写了 JupyterLab安装 2020-09-26 jupyter官网上写的装法:pip install jupyterlab 或 conda install -c conda-forge
  • Pycharm安装并配置jupyter notebook的实现
    一: 安装命令jupyter: pip install jupyter 如果缺少依赖,缺啥装啥 二: 运行 jupyter notebook 首先,查看一下自己是否已经安装成功,在终端输入: jupyter notebook 如果运行成功,结果如下: [I 09:03:15.177 NotebookApp] JupyterLab beta preview extension loaded from /home/winddy/anaconda3/lib/python3.6/site-packages/jupyterlab [I 09:03:15.177 NotebookApp] JupyterLab application directory is /home/winddy/anaconda3/share/jupyter/lab [I 09:03:15.182 NotebookApp] Serving notebooks from local directory: /home/winddy [I 09:03:15.182 NotebookApp] 0 active kernels [I 09:03:15.182 NotebookApp] The Jupyter Notebook is running at: [I 09:03:15.182 NotebookApp] http:/
  • python库plotnine里ggplot绘图中文乱码解决办法,两步,简单有效!
    用plotnine的ggplot在python中画图,图片英文显示正常,你中文是方框乱码。 查了一些资料和度娘,发现有网友提出用修改源码才行,其实用下面这个办法,最简单有效。 直接使用matplotlib库的rcParams方法,改完后对plotnine也有效。 乱码的原图: 第一步,载入matplotlib库 import matplotlib 第二步,设置 matplotlib.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签 matplotlib.rcParams['axes.unicode_minus']=False #用来正常显示负号 修改后中文正常了 来源:https://blog.csdn.net/weixin_45958652/article/details/114951146