目录
2.1 每次导入matplotlib的时候都加入如下代码(simhei就是黑体)
2.2 修改matplotlib的字体库(用黑体来显示中文)
1、折线图画法(有时间了自己整理一下)
1.0 plt设置图片大小和清晰度(需要放在最前面)
plt.figure(figsize=(10,8),dpi=150) # 默认分辨率为80
2、中文乱码解决
2.1 每次导入matplotlib的时候都加入如下代码(simhei就是黑体)
#coding:utf-8
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号
2.2 修改matplotlib的字体库(用黑体来显示中文)
1)首先确定matplotlib关于字体的位置
import matplotlib
matplotlib.matplotlib_fname() #将会获得matplotlib包所在文件夹
会定位到mpl-data文件夹(2)中会用到)和matplotlibrc文件(在这个文件中进行相关配置)
2)移动windows的字体到matplotlib的字体库中
在C:\Windows\Fonts这个文件夹中,找到“黑体 常规”这个字体,或者直接搜索simhei.ttf,然后复制这个字体,粘贴到mpl-data\fonts\ttf这个文件夹下(在1)中确定的文件夹的子目录)。
如果在Ubuntu系统或者是找不到simhei这个字体,也可以直接下载,然后再粘贴。
https://www.fontpalace.com/font-download/SimHei/
3)修改配置文件matplotlibrc,使之可用中文
用文本编辑器打开这个文件,用ctrl+f搜索font.family,删除原先文件内容,改为如下增添的内容。如果只是增添,而不删除原先注释的内容,导入matplotlib的时候会报错“duplicate key ......”说明有多个关键词。
#font.family: sans-serif ####原先文件的内容
font.family: simhei #### 增添的内容
4)修改配置文件matplotlibrc,使负号可以正常显示
用ctrl+f搜索axes.unicode_minus,取消注释,并将True修改为False
#axes.unicode_minus : True #### 原先文件的内容
axes.unicode_minus : False #### 修改后文件的内容
5)可以用如下代码进行测试。
import matplotlib.pyplot as plt
plt.plot((1,2,3),(4,3,-1))
plt.xlabel('横坐标')
plt.ylabel('纵坐标')
plt.show()
显示如下即可
6) 对于ubuntu系统!或者上述无法解决的情况
可以将配置文件matplotlibrc改成这样
# 删除前面的#号
font.family: sans-serif
# 删除前面的#号,并在后面添加SimHei
font.serif: SimHei, DejaVu Serif, Bitstream Vera Serif, Computer Modern Roman, New Century Schoolbook, Century Schoolbook L, Utopia, ITC Bookman, Bookman, Nimbus Roman No9 L, Times New Roman, Times, Palatino, Charter, serif
# 将True盖为False
axes.unicode_minus: False