在github中经常可以看到下面的日历图,可以用来表示每一天在github上的活跃程度。

类似的方法也可以用到空气质量的可视化方式中来,只要有每天的空气质量指数就可以。

数据

我这里使用的是2020年北京市各个监测站点的空气质量观测数据,原始数据包含PM2.5,PM10,AQI指数,这里选择AQI作为示例。
这里对原始数据做了简单处理,具体过程不赘述,感兴趣的话也可以看文末获取方式。处理后的数据形式如下:

calmap

绘制日历图可以用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()

在这里还是要推荐下我自己建的Python开发交流学习(qq)群:810735403,群里都是学Python开发的,如果你正在学习Python ,欢迎你加入,大家都是软件开发党,不定期分享干货(只有Python软件开发相关的),包括我自己整理的一份2021最新的Python进阶资料和高级开发教程,欢迎进阶中和想深入Python的小伙伴!

python可视化 | 单站空气质量日历图可视化相关推荐

  1. 基于 Python 的全国空气质量监测与可视化分析平台

    温馨提示:文末有 CSDN 平台官方提供的学长 Wechat / QQ 名片 :) 1. 项目背景 空气质量优劣程度与一个城市的综合竞争力密切相关,它直接影响到投资环境和居民健康,因此越来越受到政府和 ...

  2. 利用pyecharts库对京津冀上广深空气质量数据进行可视化

    本文以当前热门编程语言Python作为开发工具,利用Python的BeautifulSoup库进行网页爬虫以获取空气质量数据(AQI.PM2.5),然后综合运用第三方库Pandas进行数据处理,最后利 ...

  3. 回归预测 | MATLAB实现ELM极限学习机多输入单输出(空气质量预测)

    回归预测 | MATLAB实现ELM极限学习机多输入单输出(空气质量预测) 目录 回归预测 | MATLAB实现ELM极限学习机多输入单输出(空气质量预测) 效果一览 基本描述 程序设计 参考资料 效 ...

  4. Py之seaborn:数据可视化seaborn库(二)的组合图可视化之密度图/核密度图分布可视化、箱型图/散点图、小提琴图/散点图组合可视化的简介、使用方法之最强攻略(建议收藏)

    Py之seaborn:数据可视化seaborn库(二)的组合图可视化之密度图/核密度图分布可视化.箱型图/散点图.小提琴图/散点图组合可视化的简介.使用方法之最强攻略(建议收藏) 目录 二.组合图可视 ...

  5. Py之seaborn:数据可视化seaborn库(三)的矩阵图可视化之jointplot/JointGrid/pairplot/PairGrid/FacetGrid密度图等的函数源代码详解之最强攻略

    Py之seaborn:数据可视化seaborn库(三)的矩阵图可视化之jointplot/JointGrid/pairplot/PairGrid/FacetGrid折线图/柱状图+散点图/矩形密度图的 ...

  6. python爬虫可视化题目北京空气质量监测数据获取与分析

    任务1:数据采集 网页"http://pm25.in/beijing"中包含北京12个监测点的空气质量监测数据,请编写程序抓取网页(网页样本保存在源素材文件夹下src1目录中)上的 ...

  7. 中国城市空气质量查询及可视化bs4+wxpython

    运行要求: py3 wxPython bs4 matplotlib 运行说明: python demo.py textctrl文本框内可输入查询城市名全拼(不可以有空格).年.月,城市名不限listc ...

  8. python 爬取城市空气质量数据

    [python]爬虫爬取中国城市的空气质量数据 使用工具:pycharm/python3.7,Chrome driver 使用库:selenium,time 一.下载Chrome driver(必读) ...

  9. 学习随笔-python动态爬取空气质量网数据的实现

    想爬取https://www.aqistudy.cn/空气质量网上的河北省空气历史数据, 之前使用python写过基于scrapy的爬虫,想故技重施发现爬取不到想要的数据,仔细看过网页源代码后发现表格 ...

最新文章

  1. java api 框架_java常用对象API之集合框架
  2. NLP新秀prompt跨界出圈,清华刘知远最新论文将它应用到VLM图像端
  3. 深度学习专家Karpathy加入特斯拉,或将负责自动驾驶视觉研究
  4. 802.11(wi-fi)的PHY层(编码与调制方法)
  5. java.lang.NoClassDefFoundError: com/mchange/v2/ser/Indirector解决方法
  6. 阿里云原生多模数据库Lindorm联合东软云科技,赋能车联网数字化运营运维创新升级
  7. 探索Julia(part4)--数组
  8. 每日一小练——按字典顺序列出全部子集
  9. 镜像VirtualBox 下安装 CentOS 7搭建python项目
  10. 针对form表单赋值封装
  11. python字典用法_科学网—Python:字典和字典方法 - 刘洋洋的博文
  12. ASP.NET 英语词典
  13. 《深入剖析Tomcat》一3.3 小结
  14. 超详细软件著作权申请——软件设计说明书软件用户说明书
  15. Linux/Shell中根据一列信息批量提取文件中匹配的特定行
  16. 梦碎IPO的百果园,给水果零售业敲了个警钟
  17. 5.5 设置UITableView单元格背景色 [原创iOS开发-Xcode教程]
  18. 机器人扫地机什么牌子好?
  19. AvaTrade · 爱华MT4软件下载
  20. 计算机 库 英文翻译,计算机专业英文翻译

热门文章

  1. 必测的支付漏洞(一)——使用fiddler篡改支付金额
  2. 关于计算机网络隐私的作文,网络安全小心作文
  3. 为啥需要RPC,而不是简单的HTTP?
  4. 奥比中光深度相机ros2 humble版安装分享
  5. 『题解』洛谷P3958 奶酪
  6. 设置监察哨的顺序查找
  7. 刷微信步数,运动排名
  8. Effective C++:条款05:了解C++默默编写并调用哪些函数 (Know what functions C++ silently writes and calls.)...
  9. Sanic框架登录验证——Sanic-Auth的使用方法
  10. Asterisk Configuration for ARI