中文显示异常处理:
设置myfont来规定字体
from matplotlib import font_manager
myfont = font_manager.FontProperties(fname="C:\Windows\Fonts\msyh.ttc")
fname是自己电脑的字体路径,具体寻找方法如下:
默认字体存放路径:
C:\Windows\Fonts
路径下有个fontList.json文件。里面就有你系统带的字体
超多字体!双击选择字体,右击属性直接复制路径就可以用
使用我们的myfont
plt.xticks(list(x)[::3],_xtick_labels[::3],rotation = 45,fontproperties=myfont)
ok啦
完整源码
from matplotlib import pyplot as plt
import random
import matplotlib
from matplotlib import font_manager
# font = {'family' : 'MicroSoft YaHei',
# 'weight' : 'bold',
# 'size' : 'larger'}
# matplotlib.rc("font",**font)
# matplotlib.rc("font",family='MicroSoft YaHei',weight="bold")
#
myfont = font_manager.FontProperties(fname="C:\Windows\Fonts\msyh.ttc")
x = range(0,120)
y = [random.randint(20,35) for i in range(120)]
plt.figure(figsize=(15,10),dpi=80)
plt.plot(x,y)
#调整x轴刻度
_x = list(x)[::3]
_xtick_labels = ["10点{}分".format(i) for i in range(60)]
_xtick_labels += ["11点{}分".format(i) for i in range(60)]
#取步长,数字和字符串一一对应
plt.xticks(list(x)[::3],_xtick_labels[::3],rotation = 45,fontproperties=myfont)#旋转的度数
#添加描述信息
plt.xlabel("时间",fontproperties=myfont)
plt.ylabel("温度 单位(°C)",fontproperties=myfont)
plt.title("十点到十二点每分钟的气温变化情况",fontproperties=myfont)
plt.show()