此处简易制作了一个两小时内温度简易图的绘图方法。
import random
import matplotlib.pyplot as plt
import matplotlib.font_manager
#1.不建议使用此方法 因为博主本人实际操作也没有成功,第二种一定会成功。
#这是window跟linux中切换matplotlib字体的方法 如果没有效果请尝试方法二
# font = {'family' : 'monospace',
# 'weight' : 'bold',
# 'size' : 'larger'}
# matplotlib.rc("font",font)
#2.使用windows中的自带的字体进行替换
#注:每个人的地址都是不一样的 页面末尾 附带查询字体的方法
my_font = matplotlib.font_manager.FontProperties(fname="C:\Windows\Fonts\msyhl.ttc")
x = range(0,120)
y = [random.randint(20,35)for i in range(120)]
#设置图片大小
plt.figure(figsize=(15,8),dpi=80)
#调整x轴刻度
_x = list(x)
_xticks_label = ["10点{}分".format(i) for i in range(60)]
_xticks_label += ["11点{}分".format(i) for i in range(60)]
#取步长 修改数据x轴的刻度 字符串和数据一一对应 长度一致
plt.xticks(_x[::5],_xticks_label[::5],rotation=270,fontproperties=my_font) #rotation刻度中旋转的度数
#添加描述信息 同样需要传入本地字体
plt.xlabel("时间",fontproperties=my_font,)
plt.ylabel("温度 单位(“C)",fontproperties=my_font)
plt.title("10点-12点的每分钟气温变化情况",fontproperties=my_font)
plt.plot(x,y)
plt.show()
因为matplotlib中的默认字体不支持打印输出中文,所以需要根据自己内存中的字体地址对代码字体进行更换。下列代码为查找自己内存地址中的方法。
from matplotlib import font_manager
for font in font_manager.fontManager.ttflist:
# 查看字体名以及对应的字体文件名
print(font.name, '-', font.fname)
成品展示: