Python怎样绘制显示空气质量指数的日历图
Admin 2022-09-03 群英技术资讯 582 次浏览
类似的方法也可以用到空气质量的可视化方式中来,只要有每天的空气质量指数就可以。
我这里使用的是2020年北京市各个监测站点的空气质量观测数据,原始数据包含PM2.5,PM10,AQI指数,这里选择AQI作为示例。
这里对原始数据做了简单处理,具体过程不赘述,感兴趣的话也可以看文末获取方式。
处理后的数据形式如下:
绘制日历图可以用calmap库直接绘制,安装直接用pip。
详细可视化方法如下:
定义可视化方式
def calendar_heatmap(df, title): # 定义颜色 color_list = ['#009966', '#FFDE33', '#FF9A32', '#CC0033', '#660099'] levels = [0, 50, 100, 150, 200, 300] cmap = colors.ListedColormap(color_list) norm = colors.BoundaryNorm(levels, cmap_aqi.N) # 绘图 fig, ax = plt.subplots(figsize=(18, 9)) calmap.yearplot( df, vmin=0, vmax=300, cmap=cmap, norm=norm, how=None, year=2020, ) cbar_ax = fig.add_axes([0.94, 0.4, 0.015, 0.2]) cb = mpl.colorbar.ColorbarBase( cbar_ax, cmap=cmap, ticks=levels, norm=norm, orientation='vertical', extend='neither', extendrect=True, extendfrac=0.15 ) # 色标 cb.set_ticks([0, 50, 100, 150, 200, 300]) cb.ax.yaxis.set_tick_params(length=0.01) ax.set_ylabel('2020', fontdict=dict(fontsize=25, color='grey')) # 标题 ax.set_title(f'AQI of {title}', fontweight = 'bold', fontsize = 25) plt.savefig(f'{title}_calendar_heatmap.png')
绘图:
cp = df.resample('1d').mean().round(2)['昌平'] calendar_heatmap(cp, 'Changping')
dx = df.resample('1d').mean().round(2)['大兴'] calendar_heatmap(dx, 'DaXing')
最后也对两个测站的空气质量做了个统计
cp_bin = pd.cut( cp, bins=[0, 50, 100, 150, 200, 300], right=False ).value_counts()
dx_bin = pd.cut( dx, bins=[0, 50, 100, 150, 200, 300], right=False ).value_counts()
这一篇给大家简单的制作这么一个日历图,代码就放到上面了,喜欢的小伙伴记得点赞收藏,下一章见啦。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要介绍了Python 海象运算符(:=)的三种用法,文章围绕主题展开详细的内容介绍,具有一定的参考价值,感兴趣的小伙伴可以参考一下
这篇文章主要介绍了Python进阶学习之带你探寻Python类的鼻祖-元类,文中有非常详细的解释,对正在学习python的小伙伴们有很好的帮助,需要的朋友可以参考下
本文实例为大家分享了Python实现渐变色水平堆叠图的具体代码,供大家参考,
本文将学会各种类型的邮件发送方式,比如普通文本邮件、带附件的邮件等等,如何通过程序发送邮件现在我们还不太了解,接下来就会为大家进行详细的介绍
这篇文章主要介绍了python实战之利用pygame实现贪吃蛇游戏,文中有非常详细的代码示例,对正在学习python的小伙伴们有很好的帮助哟,需要的朋友可以参考下
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008