IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 解决python中matplotlib与seaborn画图时中文乱码的根本问题: -> 正文阅读

[Python知识库]解决python中matplotlib与seaborn画图时中文乱码的根本问题:

首先我们要明确seaborn是基于matplotlib的,我们要先学会解决matplotlib中文乱码的问题:

这个问题,在其他的一些博文中都有,我这里就简单的介绍一下:

一.matplotlib中文乱码根本解决办法:

1.首先在你编译的环境下进行输入一下代码:

import matplotlib
print(matplotlib.matplotlib_fname())

? 这样会输出,你所编译的环境下的matplotlib包中关于编码的相关文件,下面是我的输出:

/Users/yuyangchen/opt/anaconda3/lib/python3.8/site-packages/matplotlib/mpl-data/matplotlibrc

2.运用终端命令打开这个路径下的文件,因为我自己使用的是mac,所以我是这样在终端输入的,? ? ?对于Windows的同学,可能会不一样,但是无论用哪种方法,打开这个文件就好了:

open /Users/yuyangchen/opt/anaconda3/lib/python3.8/site-packages/matplotlib/mpl-data/matplotlibrc

?打开后这个文件里面长这个样子:

?3.然后我们找到相应的位置进行修改,我这里就直接放出修改后的截图了:

? ? ?这里主要进行了两处的修改:1.把font.family前面的'#'给删除,也就是解除了注释? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 2.把font.sans-serif前面的'#'也给删除了,并且在其后面加上了? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Arial Unicode MS (一种允许中文的字体,应该是不需要下载)

?之后你就会发现,再去用matplotlib进行画图的时候,就不会出现中文乱码了(如果操作都正确的话,应该会是这样的,嘻嘻)。但是你会发现这个时候用seaborn去画图,还是可能会出现乱码的情况,问题来了,其实这是因为刚才说了seaborn是基于matplotlib去实现的,然后在运行的时候,seaborn的一些设置就会覆盖掉matplotlib中的一些设置,所以导致matplotlib不乱码而seaborn乱码。下面咱们就再去seaborn中去改一下它的设置吧!

二.seaborn中文乱码的根本解决办法:

这里的方法,我其实一直想找到,搜了很多博文,都是直接在写代码的时候去解决,这样我们写另外的代码的时候,还要把那段代码写上去,治标不治本。然后,我就想去直接像解决matplotlib乱码的问题一样,直接去改它的原文件,索性我就去看seaborn的源码,看了半天终于让我找到这个设置藏在哪里,我们来看看吧:

1.首先,我们要知道你的matplotlib包和seaborn包肯定是下载在同一文件下的,所以我就在上面的路径中去找就好了,下面是我的路径,我们可以看到前半部分跟matplotlib是一样的,说明在一个文件下,你们也对应的去找就好了:

/Users/yuyangchen/opt/anaconda3/lib/python3.8/site-packages/seaborn/rcmod.py

2.打开那个rcmod.py文件并且找到? font.family?,和? font.sans-serif 定义的地方,我们会发现确实在font.sans-serif中少了我们之前在matplotlib的配置文件中添加的 Arial Unicode MS,在这里我们把它添加进去就好了,结果如图:

最后,我们把编译器关掉再重启或者重启电脑,我是重启电脑的,然后就好了,seaborn中文乱码的问题就解决了?,这篇文章到此就结束了,谢谢观看。

注:这是我发的第一篇博客,里面的内容特别是seaborn中文乱码解决的问题,是我自己发现的,所以纪念一下。然后呢,第一次写,会比较啰嗦,主要是怕有些人看不太懂。因为有的时候,我看别人的文章我就看不懂,哈哈哈哈。好了,谢谢大家的支持,这感觉还蛮好的

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-07-13 17:25:22  更:2021-07-13 17:26:55 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/4 15:52:24-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码