上海未成年人思想道德建设网站,河北seo推广方案,平面设计素材库,国外设计网站参考一、jupyter环境下中文乱码问题解决
我们在jupyter的notebook中使用matplotlib画图的时候#xff0c;经常性的会遇见一些中文乱码显示□的情况,如下所示: 在此#xff0c;网上给出的方法大多是以下的解决方法#xff1a;
import matplotlib.pyplot as pltplt.rcParams[fo…一、jupyter环境下中文乱码问题解决
我们在jupyter的notebook中使用matplotlib画图的时候经常性的会遇见一些中文乱码显示□的情况,如下所示: 在此网上给出的方法大多是以下的解决方法
import matplotlib.pyplot as pltplt.rcParams[font.sans-serif][SimHei] #解决中文显示乱码问题
plt.rcParams[axes.unicode_minus]False #解决坐标轴负数的负号显示问题但是我们发现有时候按照上面的步骤进行后依然还是中文乱码~
这时候就需要我们思考一下为什么根据网上的方法依然解决不了这个问题。
其实很有可能是因为我们没有SimHei或者你设置的其它字体这时候我们有两种选择一种是下载你所没有的字体放到你的字体库中第二种方法是使用你所拥有的字体。
那么问题这时候又来了怎么查看自己所有用的字体呢博主给出以下代码解决。
import matplotlib
asorted([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(fnamerc:\windows\fonts\simsun.ttc, size14)
x [1,2,3,4]
y [3,2,1,3]
plt.plot(x,y)
plt.xlabel(“x轴标签”,fontpropertiesfont)
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。 这时候中文乱码问题就彻底解决了~