解决jupyter以及windows系统中pycharm编译器画图的中文乱码问题大全

简介: 解决jupyter以及windows系统中pycharm编译器画图的中文乱码问题大全,我们在jupyter的notebook中使用matplotlib画图的时候,经常性的会遇见一些中文乱码显示□的情况,如下所示:

一、jupyter环境下中文乱码问题解决

我们在jupyter的notebook中使用matplotlib画图的时候,经常性的会遇见一些中文乱码显示□的情况,如下所示:
在这里插入图片描述
在此,网上给出的方法大多是以下的解决方法:

import matplotlib.pyplot as plt

plt.rcParams['font.sans-serif']=['SimHei']  #解决中文显示乱码问题
plt.rcParams['axes.unicode_minus']=False  #解决坐标轴负数的负号显示问题

但是,我们发现有时候按照上面的步骤进行后,依然还是中文乱码~

这时候就需要我们思考一下,为什么根据网上的方法依然解决不了这个问题。

其实,很有可能是因为我们没有SimHei或者你设置的其它字体,这时候我们有两种选择,一种是下载你所没有的字体,放到你的字体库中,第二种方法是使用你所拥有的字体。

那么问题这时候又来了,怎么查看自己所有用的字体呢?博主给出以下代码解决。

import matplotlib
a=sorted([f.name for f in matplotlib.font_manager.fontManager.ttflist])
for i in a:
    print(i)

运行结果如下:
在这里插入图片描述
以上就是我们已经拥有的字体。这时候我们只需要将拥有的字体名称与‘SimHei’或者你设置的没有的字体替换即可。

替换之后我们可以发现,现在中文乱码就消失了。
在这里插入图片描述
这里最后再给出其它两种方法:
方法一:

import matplotlib
font = {
‘family’:‘SimHei’,
‘weight’:‘bold’,
‘size’:12
}
matplotlib.rc(“font”, **font)

方法二:

from matplotlib import pyplot as plt
from matplotlib.font_manager import FontProperties
font = FontProperties(fname=r"c:\windows\fonts\simsun.ttc", size=14)
x = [1,2,3,4]
y = [3,2,1,3]
plt.plot(x,y)
plt.xlabel(“x轴标签”,fontproperties=font)
plt.show()

虽然方法多多,但是一般我们最常用的便是我刚开始讲解的方法,而且非常有效。

二、windows系统pycharm编译器画图中文乱码问题解决

简单的方法和jupyter的解决方法一致。

这里再给出一种一劳永逸的解决方法,具体如下:

首先输入以下代码,获得我们的matplotlib安装路径:

import matplotlib
print(matplotlib.matplotlib_fname()) #将会获得matplotlib包所在文件夹

我的安装路径是:D:\Anaconda\lib\site-packages\matplotlib\mpl-data\matplotlibrc

我的是Anaconda环境,当然python环境操作是一样的。

然后进入C:\Windows\Fonts中,找到简体字(黑体常规),然后复制它。
在这里插入图片描述

然后进入我们通过上面代码输出的matplotlib安装路径中,按照我的是D:\Anaconda\Lib\site-packages\matplotlib\mpl-data\fonts\ttf。有的人可能直接在D:\Anaconda\Lib\site-packages\matplotlib\mpl-data\fonts目录下就有。最后我们只需要粘贴我们赋值的SimHei字体即可。
在这里插入图片描述
最后,我们进入到D:\Anaconda\lib\site-packages\matplotlib\mpl-data\matplotlibrc中,即:
在这里插入图片描述
这里采用记事本打开方式即可。
在这里插入图片描述
找到#font.family:在这里我已经取消了#的注释,然后我们在下面加一行font.family: simhei,或者向我一样取消font.family: sans-serif的注释,然后再下面的font.sans-serif:里面加一个SimHei。

在这里插入图片描述
这时候中文乱码问题就彻底解决了~

相关文章
|
2天前
|
XML Ubuntu Linux
部署08---扩展-Win10配置WSL(Ubuntu)环境,WSL系统是什么意思,是Windows系统上的一个子系统, xml的一大特点是直链系统,直接链接你的CPU,硬盘和内存,如何用 WSL部署
部署08---扩展-Win10配置WSL(Ubuntu)环境,WSL系统是什么意思,是Windows系统上的一个子系统, xml的一大特点是直链系统,直接链接你的CPU,硬盘和内存,如何用 WSL部署
|
2天前
|
Linux Windows
Linux01---目录结构,Linux系统下只有一个最顶级的树/,Windows系统有盘符概念,而Linux系统没有盘符概念,整个系统都在/根目录下,Linux 系统写法 /user/local
Linux01---目录结构,Linux系统下只有一个最顶级的树/,Windows系统有盘符概念,而Linux系统没有盘符概念,整个系统都在/根目录下,Linux 系统写法 /user/local
|
3天前
|
IDE Java 开发工具
如何在Windows操作系统上安装PyCharm?
【7月更文挑战第5天】如何在Windows操作系统上安装PyCharm?
100 59
|
3天前
|
数据采集 传感器 监控
LabVIEW Windows与RT系统的比较与选择
LabVIEW Windows与RT系统的比较与选择
|
7天前
|
Shell Linux 开发工具
解决windows系统下运行.sh文件
【6月更文挑战第15天】
25 4
|
21天前
|
网络安全 C++ Windows
【Windows驱动开发】(主机)VS2017+(虚拟机)win10系统------双机调试
【Windows驱动开发】(主机)VS2017+(虚拟机)win10系统------双机调试
|
26天前
|
编解码 安全 网络安全
RealVNC的 VNC server在windows7系统下无法正确运行
在Windows 7上运行旧版VNC Server(如4.1.2)可能存在兼容性问题,但可通过调整配置解决。步骤包括:安装VNC Server,设置兼容性模式(选择Windows XP SP3),启动VNC Server,配置VNC连接参数。若遇到问题,检查防火墙设置,确保系统更新,并考虑升级到新版VNC Server以提高性能和兼容性。
|
5天前
|
存储 数据库 数据安全/隐私保护
Windows系统部署AnyTXT Searcher并实现远程搜索本地内网设备中文件
Windows系统部署AnyTXT Searcher并实现远程搜索本地内网设备中文件
|
1月前
|
Windows
windows系统bat批处理 打开乱码
windows系统bat批处理 打开乱码
24 4
|
12天前
|
数据库连接 Nacos 数据库
nacos在windows系统下单机模式启动四部曲(2.1.2重置密码)
nacos在windows系统下单机模式启动四部曲(2.1.2重置密码)
19 0

相关实验场景

更多