from matplotlib import pyplot as plt#导入matplotlib
from matplotlib import font_manager#导入字体管理模块import random#导入随机生成模块
my_font = font_manager.FontProperties(fname="C:/WINDOWS/Fonts/STSONG.TTF")#定义中文字体属性,文字储存路径可以在C:/WINDOWS/Fonts/找到,这里我设置的宋体
y =[random.randint(20,35)for i in range(120)]#y值为120个在20-35之间随机数
x = range(0,120)#x值为0-120
plt.figure(figsize=(15,10),dpi=90)#图片大小为15*10,每英寸90个像素点
_x_labels =["10点{}分".format(i)for i in range(60)]
_x_labels +=["11点{}分".format(i)for i in range(60)]#设置x坐标轴中文刻度
plt.xticks(list(x[::3]),_x_labels[::3],rotation=45,fontproperties=my_font,fontsize = 12)#坐标轴刻度显示步长为3,为了避免坐标轴字体重叠,旋转45度,fontproperties设置字体
plt.plot(x,y)
plt.xlabel("时间",fontproperties = my_font,fontsize = 18)#设置x坐标标注,字体为18号
plt.ylabel("每分钟对应的温度",fontproperties = my_font,fontsize = 18)#设置y坐标标注
plt.title("10点到12点每分钟温度变化图",fontproperties = my_font,fontsize = 24)#设置标题
plt.plot(x,y)#绘图
plt.show()#显示
图片结果如图所示:
2.绘制两条折线及添加图例,添加网格
from matplotlib import pyplot as plt
from matplotlib import font_manager
import random
plt.figure(figsize=(10,8),dpi=80)
my_font = font_manager.FontProperties(fname="C:/WINDOWS/Fonts/STSONG.TTF")
x = range(11,31)
y_1 =[random.randint(0,5)for i in range(20)]
y_2 =[random.randint(0,5)for i in range(20)]
_x_label =["{}岁".format(i)for i in range(11,31)]
plt.xticks(list(x[::2]),_x_label[::2],rotation = 45,fontproperties = my_font,fontsize = 12)
plt.plot(x,y_1,label ="自己",color="red")
plt.plot(x,y_2,label="朋友",linestyle="--",linewidth=2,alpha = 0.4)
plt.xlabel("年龄",fontproperties = my_font,fontsize = 18)
plt.ylabel("每年交的朋友",fontproperties = my_font,fontsize = 18)
plt.title("11岁到30岁每年交的朋友变化图",fontproperties = my_font,fontsize = 24)
plt.grid(alpha = 0.4)#添加网格,alpha = 0.4透明度
plt.legend(prop=my_font,loc='best')#添加图例
plt.show()