前一段时间由于身体原因,博主一直没有继续学习、自然就没有再发新的博客。今天由于身体状况持续偏好,因此解决了前一段时间一直没有解决的Python数据可视化中文乱码的问题。关于这个中文乱码问题的解决方案,应该是Deepin Linux中并没有安装Windows常用的SimHei自体所导致的。虽然网上也有许多相似的解决方案,但是我依稀记得半个月前面向百度试过各种方法均未得到解决的窘状。因此,今天在根据网上解决方案并按照自己的想法测试后,我成功的解决了这个问题。

Jupyter Lab运行的两种方式

1.jupyter lab默认不建议以root身份运行,可以在启动的到时候使用 --allow-root 跳过警告信息(root用户运行方式)。

jupyter notebook  --allow-root

2.普通用户运行jupyter lab就很简单了,直接输入jupyter lab即可运行(可进入到Anaconda Prompt的base中再运行,实际上我没有进入base中就能够成功运行jupyter lab)。

jupyter lab

Jupyter Lab安装Python类库所遇问题

关于在Jupyter Lab安装类库时所遇到的问题,我实际上在半个月前已经算是解决了。现在回想起来已经遗忘了大部分细节,但是必须清楚:使用Anaconda+Jupyter lab时可能因为我是初次使用并且自己琢磨的,而无法使用安装好的Anaconda中的Python类库。必须激活(切换到)base环境才能够在jupyter lab中重新安装python类库才能使用。

# 进入base环境:
source activate base
# 退出当前环境:
source deactivate

Jupyter/Pycharm中关于findfont: Font family [‘sans-serif’] not found的解决方案

在本次解决问题的过程中,我所遭遇的最大问题便是SimHei中文字体缺失的问题了。一般在使用Python可视化解决中文乱码代码时容易遇到:

# 图形显示中文
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False

接下来来记录一下我的解决方案:

1.下载SimHei字体。具体的下载链接我已经放到了我的蓝奏云中,诸位可自行下载(https://wws.lanzous.com/ikrSDeosyje)。
        2.在jupyter notebook中输入以下命令,得到字体路径。

import matplotlib
print(matplotlib.matplotlib_fname())

这里我得到的输出结果是 /opt/anaconda3/lib/python3.7/site-packages/matplotlib/mpl-data/matplotlibrc ,因此需要把下载好的SimHei的字体文件移动到 /opt/anaconda3/lib/python3.7/site-packages/matplotlib/mpl-data/fonts/ttf 中。

mv SimHei.ttf /opt/anaconda3/lib/python3.7/site-packages/matplotlib/mpl-data/fonts/ttf

3.查看缓冲目录地址路径,删除缓冲目录。首先在jupyter notebook中输入以下命令,得到缓冲目录地址路径’/home/zxy/.cache/matplotlib’。

import matplotlib
matplotlib.get_cachedir()

清空缓冲目录中的文件,删除 ~/.cache/matplotlib 的缓冲目录。

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

4.设置matplotlib的配置文件。一般的配置文件都在 /安装目录/anaconda3/lib/python3.7/site-packages/matplotlib/mpl-data 中的matplotlibrc文件内(需使用root用户权限进行修改)。

cd /opt/anaconda3/lib/python3.7/site-packages/matplotlib/mpl-data
vim matplotlibrc

修改(新添)内容如下所示:

font.family : sans-serif
# 去掉前面的#
font.sans-serif : SimHei, Bitstream Vera Sans, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif
# 去掉前面的#,并在冒号后面添加SimHei
axes.unicode_minus: False
# 去掉前面的#,并将True改为False


        注意:必须严格按照Python的代码规范进行设置matplotlib的配置文件,即顶格书写。(前面#后应该可以修改,我为了省事直接在最后面加上这三句代码)
        5.重启Python内核(重启Jupyterl Notebook)即可正常运行。

补充:Pycharm运行时问题

1.使用Pycharm的过程中想要用matplotlib模块画图运行jupyter lab可以直接运行的代码,结果plt.show()怎么都没有图片显示,还出现警告:UserWarning: Matplotlib is currently using agg, which is a non-GUI backend…
        此时在终端输入以下命令即可解决:

sudo apt-get install tcl-dev tk-dev python-tk python3-tk

2.pycharm使用运行环境忽然变成了python console,真的好不习惯!

解决方案:Run --> Endit Configurations,找到Execution下的Run with Python Console,把前面的复选框的对号去掉。

        瞬间舒服多了!

记录在Deepin Linux上使用Jupyter/Pycharm中关于findfont: Font family [‘sans-serif‘] not found的解决方案及相关问题相关推荐

  1. Deepin Linux上的Android+Flutter开发环境配置

    Deepin Linux上的Android+Flutter开发环境配置 在Linux上安装Flutter开发环境,官方教程参见Flutter Get Started,中国用户被墙需额外注意的官方教程参 ...

  2. Deepin Linux 上双显卡电脑如何关闭独显,使用核显

    Deepin Linux 上双显卡电脑如何关闭独显,使用核显 参考:http://wiki.deepin.org/wiki/显卡 一直以来,因为我的电脑是双显卡的(核显+1050ti),由于英伟达的原 ...

  3. 如何在Linux上的命令行中设置Google Chrome浏览器的代理设置?

    How to set Google Chrome's proxy settings in command line on Linux? I am using Google Chrome on Linu ...

  4. linux系统讯飞输入法,在Deepin Linux 15.11命令行中安装及卸载讯飞输入法的方法

    如果你需要在Deepin Linux 15.11操作系统命令行中安装讯飞输入法,建议先运行sudo apt-get update命令,以下为你介绍安装及卸载讯飞输入法的方法,安装的版本为讯飞输入法 f ...

  5. Linux上配置jupyter的步骤及与本地映射

    进入到jupyter的目录 cd .jupyter/ 设置端口 并启动jupyter-lab nohup jupyter-lab --port 8892 & 查看jupyter ps aux ...

  6. Brave浏览器安装在deepin linux上,报错

    在deepin linux下,通过以下命令安装了brave后,报错 sudo apt install com.brave.brave-browser 报错截图如下: 但app列表中能找到brave浏览 ...

  7. linux深度怎么安装svn客户,Deepin Linux上安装subversion

    在深度Linux默认源上是已经有编译好的Subversion的.安装代码sudo apt-get install subversion 查看安装版本命令svn --versionsvn,版本 1.9. ...

  8. linux下sql查询的使用,sql-server – 如何在Linux上查看SQL Server中的执行计划

    微软发布了一款名为 SQL Operations studio的新工具,它类似于SSMS,但可以在Windows,Linux,Macos上使用. 下面是它的样子截图 使用sqlopsstudio查看实 ...

  9. linux c ip数据包,如何在Linux上的C / C ++中使用ipv6 udp套接字进行多播?

    (英语不是我的母语,不用担心某些句子是否很奇怪:). 我正在开发 PONG游戏, 并且通过创建一些类来帮助我管理窗口,事件-和 网络, 因为我在游戏中添加了 LAN功能 ,但是当前您必须输入您想与之联 ...

  10. deepin终端编译c程序_在deepin linux上安装国人开发的编程语言-“明”语言

    闲来无事,在网上看到了介绍<>这篇文章,找到了它在gitcafe的地址:http://gkmail.gitcafe.io/ming/,这是国人开发的一个脚本语言,中文名称"明语言 ...

最新文章

  1. JVM之Java类加载器
  2. python编程输入标准-Python中的输入与输出
  3. HDU2032 杨辉三角
  4. 【Android 应用开发】Android资源文件 - 使用资源存储字符串 颜色 尺寸 整型 布尔值 数组
  5. Coursera ML笔记 - 神经网络(Learning)
  6. Java多线程与并发库高级应用 学习笔记 1-9课
  7. vep文件如何转换mp4_如何将DVD的vob视频格式转换成mp4格式
  8. easyui datagrid plunges 扩展 插件
  9. [J2ME]RSSOwlMidlet(RSS无线阅读器)设计说明
  10. 玩转SpringSession,重要知识点全面剖析!
  11. 设计模式你怎么看?--代理模式
  12. Swift 实现图片转字符画的功能
  13. c语言伪代码写for循环,伪代码撰写规范
  14. yuv420转rgba
  15. 通过将OC编译成C++ 一探究竟(边学编写,帮忙点评)
  16. 用Python爬取微信好友,原来他们是这样的人......
  17. 第三十九篇 自定义指令 - directive
  18. 怎么写好一篇接口文档
  19. TCP服务器和客户端的创建(socket/socketserver)
  20. 青年论坛:谈判的情感力量

热门文章

  1. sublime中文乱码
  2. 正则html标签sublime,sublimetext 使用正则表达式匹配中文
  3. 数据库——数据库的备份和还原
  4. 数据治理:数据指标管理平台解决方案
  5. Multiple Hypothesis Tracking Revisited
  6. YouTube批量下载开源代码汇总
  7. MATLAB递推最小二乘法(三输入一输出ARX模型、所有样本数据权重为1)
  8. 前端实现导入(excel文件)导出(word)文件
  9. AUTOCAD——文字样式
  10. 数字证书:签名证书加密证书