python作业四

1.根据下列数据制图,要求:降水和气温绘制在一张图中,降水量用直方图,气温用折线。其他参数请参阅官方文档自行设置,要尽可能做到清晰、美观。

#作业四
import pandas as pd    #数据快速读入        
import numpy as np
import matplotlib.pyplot as plt
#读取数据
path1=r'C:\Users\Administrator\Desktop\作业\作业三\T&P.csv'      #python里面反斜杠是转义字符,前面加r否则报错不认为是路径
f1=pd.read_csv(path1)
#数据预处理——检查无缺测数据

#创建绘图对象
fig = plt.figure(figsize=(10,4))
ax = fig.add_subplot()
#参数设置
t_clr = 'tab:red'   #Tableau Palette颜色
t_lb= r'Trem. [$^{\circ}$C]'
ax.plot(f1.year,f1.temp,color=t_clr,label=t_lb,marker='o',linestyle='-',linewidth=2)   #label图例内容
#ax.fill_between(t,tmin,tmax,color=t_clr,alpha=0.5,lable='min/max')   #线图x区域填充图

#坐标
font1 = {'family' : 'Times New Roman','weight' : 'normal','size' : 18}   #设置横纵坐标的名称以及对应字体格式
font2 = {'family' : 'Times New Roman','weight' : 'normal','size' : 15}
plt.xlabel('years',font1)
plt.ylabel(t_lb,font2)
plt.title('1981-2021 T and P',font1)
ax.legend(loc='upper left',frameon=False)   #legend图例——loc位置——frameon图例方框 ——简洁没有信息量的元素,更好的关注图中信息
ax.grid(ls=':')   #网格——ls线的样式
ax.set_yticks(np.arange(-10,41,10)) #y轴坐标——起,终,间隔长度!!!使得间隔数与另一个变量y轴相同

#叠加绘制第二个变量(twinx)
pr_clr = 'tab:blue'
pr_lb = r'Precip. [mm/day]'
ax_pr = ax.twinx()
ax_pr.bar(f1.year,f1.prec,color=pr_clr,label=pr_lb,width=0.4)   #条形图
ax_pr.set_ylabel(pr_lb,font2)
ax_pr.legend(loc='upper right',frameon=False)
ax_pr.grid(ls=':')
ax_pr.set_yticks(np.arange(0,301,60))
ax_pr.set_ylim(0,301) #限制左侧坐标轴刻度
plt.tight_layout() #自动调整坐标

 #画布操作(methods)——保存图片                      
plt.savefig(r'C:\Users\Administrator\Desktop\作业\作业三\第四次.png')
plt.show()  

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值