import matplotlib.pyplot as plt import pandas as pd # 避免写坐标时的中文乱码 plt.rcParams['font.sans-serif'] = ['SimHei'] table = pd.read_excel('未来15天的天气预报.xlsx') # print(table) # 设置画布 plt.figure(facecolor='w',figsize=(10, 6)) x = table['日期'] y = table['温度'] # plt.plot(x,y,color='g',linestyle='-.') plt.plot(x,y,marker='o',color='red',mfc='w') # 设置坐标轴 plt.xlabel('2021年五一的天气预报',fontsize=10) plt.ylabel('室外温度',fontsize=10) # 设置刻度 plt.xticks(fontsize=10) #plt.xticks(range(1,11) plt.yticks(fontsize=10) # 设置x,y轴的范围 #plt.xlim([0,20]) plt.ylim([0,40]) # 设置网格线 plt.grid(axis='y', linestyle='--', linewidth=1,color='g') # 添加文本标签 for a,b in zip(x,y): plt.text(a,b,str(b),ha='right',va='bottom',fontsize=15) # ha代表水平方向的对齐,va代表垂直方向的对齐 # 设置标题 plt.title('2021年5月天气预报',fontsize=20) # 设置图例 plt.legend(('温度变化',)) # 文本注释 plt.annotate('最大数',xy=(x[6],32),xytext=(x[7],34),arrowprops=dict(color='red',shrink=0.05)) # 设置间距 left和bottom的值越大,则其间距越大,而right和top的值越小,则间距越大,注意left不能大于right,bottom不能大于top,否则会报错 # plt.subplots_adjust(left=0.2,right=0.8,top=0.8,bottom=0.2) # 设置坐标轴的刻度显不显示 plt.tick_params(left=True,bottom=True,right=False,top=False) # 设置坐标轴的刻度的方向 plt.rcParams['xtick.direction']='in' plt.rcParams['ytick.direction']='in' plt.show()
# 数据如下:
日期 温度
2021-04-29 22
2021-04-30 20
2021-05-01 24
2021-05-02 23
2021-05-03 25
2021-05-04 24
2021-05-05 32
2021-05-06 31
2021-05-07 31
2021-05-08 27
2021-05-09 27
2021-05-10 28
2021-05-11 29
2021-05-12 19
2021-05-13 11
其结果图如下: