前一段时间由于身体原因,博主一直没有继续学习、自然就没有再发新的博客。今天由于身体状况持续偏好,因此解决了前一段时间一直没有解决的Python数据可视化中文乱码的问题。关于这个中文乱码问题的解决方案,应该是Deepin Linux中并没有安装Windows常用的SimHei自体所导致的。虽然网上也有许多相似的解决方案,但是我依稀记得半个月前面向百度试过各种方法均未得到解决的窘状。因此,今天在根据网上解决方案并按照自己的想法测试后,我成功的解决了这个问题。
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安装类库时所遇到的问题,我实际上在半个月前已经算是解决了。现在回想起来已经遗忘了大部分细节,但是必须清楚:使用Anaconda+Jupyter lab时可能因为我是初次使用并且自己琢磨的,而无法使用安装好的Anaconda中的Python类库。必须激活(切换到)base环境才能够在jupyter lab中重新安装python类库才能使用。
# 进入base环境:
source activate base
# 退出当前环境:
source deactivate
在本次解决问题的过程中,我所遭遇的最大问题便是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)即可正常运行。
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,把前面的复选框的对号去掉。
瞬间舒服多了!