使用Python绘制空气质量日历图

目录
  • 前言
  • 数据
  • calmap
  • 最后

前言

在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绘制空气质量日历图的文章就介绍到这了,更多相关Python绘制日历图内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • python如何利用matplotlib绘制并列双柱状图并标注数值

    目录 项目场景: 代码: 效果图: 扩展功能及代码: 补充:Python画图实现同一结点多个柱状图 总结 项目场景: Python项目需要画两组数据的双柱状图,以下以一周七天两位小朋友吃糖颗数为例进行演示,用matplotlib库实现 代码: import matplotlib import matplotlib.pyplot as plt import numpy as np def drawHistogram(): matplotlib.rc("font", family='Mic

  • Python如何绘制日历图和热力图

    本文以2019年全国各城市的空气质量观测数据为例,利用matplotlib.calmap.pyecharts绘制日历图和热力图.在绘图之前先利用pandas对空气质量数据进行处理. 2019年全国各城市空气质量观测数据来源于:https://beijingair.sinaapp.com. 数据处理 从网站下载的数据为逐小时数据,每天一个文件.如果要绘制全年的日历图或者热图,首先要将所有的数据进行合并处理. 下载好数据之后,将数据解压到当前目录的2019文件夹内,然后处理数据: import gl

  • Python+pyecharts绘制交互式可视化图表

    目录 一.热力图 二.地理图表 2.1 地理坐标系 2.2 市区地图 2.3人口流动图 2.4 3D地图 2.5 3D地球 三.疫情数据可视化 四.空气质量数据可视化 五.外卖点分布数据可视化 六.总结 本篇我们来了解一个新的可视化模块pyecharts,由于爬虫敏感问题,博主对数据已经提取供大家使用,本篇文章仅介绍数据可视化. 一.热力图 案例:绘制2021部分城市的GDP热力图(比如上海,北京,深圳,重庆,长沙的2021年总GDP),data为一个列表,每个城市数据用元祖表示,比如:(‘上海

  • python绘制柱形图的方法

    本文实例为大家分享了python绘制柱形图的具体代码,供大家参考,具体内容如下 #柱形图 import pandas import numpy import matplotlib  from matplotlib import pyplot as plt #导入数据 data_columns=pandas.read_csv('D://Python projects//reference data//6.4//data.csv') #定义中文格式 font={'family':'MicroSoft

  • 利用Python绘制多种风玫瑰图

    目录 前言 导入模块 读取数据 计算风速的u.v分量 uv风速散点图(含透明度) 风玫瑰图(多种形式) 绘制特定月份风玫瑰图 绘制风速频率直方图 在地图上绘制风玫瑰图 前言 风玫瑰是由气象学家用于给出如何风速和风向在特定位置通常分布的简明视图的图形工具.它也可以用来描述空气质量污染源.风玫瑰工具使用Matplotlib作为后端. 安装方式直接使用: pip install windrose 导入模块 import pandas as pd import numpy as np from matp

  • python绘制直方图的方法

    本文实例为大家分享了python绘制直方图的具体代码,供大家参考,具体内容如下 用两列数据绘制直方图 #coding=gbk import xlwings as xw import pandas  as pd import matplotlib.pyplot as plt #pd.set_option('display.max_columns', None)  #解决表格多列时中间省略显示问题 #pd.set_option('display.max_rows', None)    #解决表格多行

  • Python数据分析之绘制ppi-cpi剪刀差图形

    目录 前言 ppi 和 cpi 数据获取 ppi-cpi 图形绘制 总结 前言 ppi-cpi 剪刀差大家可能都听说过,通过这个指标可以了解当前的经济运行状况,小编为了学习 python 的图形绘制,通过爬虫的方式获取到 ppi 和 cpi 的历史数据,然后通过 matplotlib 绘图工具将 ppi 数据和 cpi 数据同框展示,最后通过颜色填充来表示其中的差额部分.对于新手来讲,会学习到 python 的基础知识.爬虫以及图形绘制的知识. ppi 和 cpi 数据获取 既然是数据获取,就需

  • python绘制带有色块的折线图

    前言: 如果正在看文章的你,还不会绘制折线图,请前往本人的主页看如何使用matplotlib绘制折线图这篇文章,该文章会仔细而详尽的告诉你绘制折线图的方法.言归正传,给折线图加色块,算是折线图的附加内容.加一个函数就可以搞定.效果图如下所示: 绘制带有色块的折线图的一般步骤: 第一步:绘制出基础的折线图: 在绘制色块前,我们可以使用绘制折线图的一般操作,绘制出折线图做基础准备. 第二步:计算每个坐标点对应的上下界: 其实色块看起来就像该坐标点在y轴方向上下平移所得的线条在x轴方向拼接而成.在绘制

  • 使用Python绘制空气质量日历图

    目录 前言 数据 calmap 最后 前言 在github中经常可以看到下面的日历图,可以用来表示每一天在github上的活跃程度. 类似的方法也可以用到空气质量的可视化方式中来,只要有每天的空气质量指数就可以. 数据 我这里使用的是2020年北京市各个监测站点的空气质量观测数据,原始数据包含PM2.5,PM10,AQI指数,这里选择AQI作为示例. 这里对原始数据做了简单处理,具体过程不赘述,感兴趣的话也可以看文末获取方式. 处理后的数据形式如下: calmap 绘制日历图可以用calmap库

  • python绘制直方图和密度图的实例

    对于pandas的dataframe,绘制直方图方法如下: //pdf是pandas的dataframe, delta_time是其中一列 //xlim是x轴的范围,bins是分桶个数 pdf.delta_time.plot(kind='hist', xlim=(-50,300), bins=500) 对于pandas的dataframe,绘制概率密度图方法如下: //pdf是pandas的dataframe, delta_time是其中一列 pdf.delta_time.dropna().pl

  • 使用python绘制3维正态分布图的方法

    今天使用python画了几个好玩的3D展示图,现在分享给大家. 先贴上图片 使用的python工具包为: from matplotlib import pyplot as plt import numpy as np from mpl_toolkits.mplot3d import Axes3D 在贴代码之前,有必要从整体上了解这些图是如何画出来的.可以把上面每一个3D图片理解成一个长方体.输入数据是三维的,x轴y轴和z轴.在第三个图片里面有x.y和z坐标的标识.在第三张图片中,我们可以理解为,

  • python绘制散点图和折线图的方法

    本文实例为大家分享了python绘制散点图和折线图的具体代码,供大家参考,具体内容如下 #散点图,一般和相关分析.回归分析结合使用 import pandas import matplotlib import matplotlib.pyplot as plt   plot_circle=pandas.read_csv('D://Python projects//reference data//6.1//data.csv') #定义主题颜色 maincolor=(47/256,82/256,141

  • 利用Python绘制好看的玫瑰花图

    目录 一.基本极坐标图 二.极半径图 参数介绍 三.画玫瑰花图 AngleAxisOpts参数介绍: TooltipOpts参数介绍: 开始画玫瑰花图 今天主要给大家介绍如何用pyecharts画各种漂亮的数学图形 一.基本极坐标图 说简单点,基本极坐标图就是圆形的散点图(柱状图或折线图),代码如下: import random from pyecharts import options as opts from pyecharts.charts import Polar data = [(i,

  • Python绘制散点密度图的三种方式详解

    目录 方式一 方式二 方式三 方式一 import matplotlib.pyplot as plt import numpy as np from scipy.stats import gaussian_kde from mpl_toolkits.axes_grid1 import make_axes_locatable from matplotlib import rcParams config = {"font.family":'Times New Roman',"fo

  • Python绘制交通流折线图详情

    目录 一.数据集下载 二.折线图绘制 1.解压npz文件 2.折线图绘制 一.数据集下载 加州高速公路PEMS数据集 这里绘制PEMS04中的交通流量数据.该数据集中包含旧金山2018年1月1日至2月28日的29条道路上307个探测器每五分钟收集的数据. 二.折线图绘制 1.解压npz文件 npz是一种numpy文件存储的压缩格式,可使用numpy进行读取. allow_pickle=True用于防止numpy版本过高带来的错误. data.files查看压缩文件下的所有文件. import n

  • 利用Python绘制数据的瀑布图的教程

    介绍 对于绘制某些类型的数据来说,瀑布图是一种十分有用的工具.不足为奇的是,我们可以使用Pandas和matplotlib创建一个可重复的瀑布图. 在往下进行之前,我想先告诉大家我指代的是哪种类型的图表.我将建立一个维基百科文章中描述的2D瀑布图. 这种图表的一个典型的用处是显示开始值和结束值之间起"桥梁"作用的+和-的值.因为这个原因,财务人员有时会将其称为一个桥梁.跟我之前所采用的其他例子相似,这种类型的绘图在Excel中不容易生成,当然肯定有生成它的方法,但是不容易记住. 关于瀑

  • 基于Python绘制美观动态圆环图、饼图

    前言 本文采用PyEchartsv1.x版本进行绘制地图. 注:PyEcharts分为 v0.5.x 和 v1.x 两个大版本,v0.5.x 和 v1.x 间不兼容,v0.5.x是基于Python2.7+.3.4+版本开发的,而v1.x是一个全新的版本,它是基于Python3.6+版本开发的,另外经PyEcharts开发团队决定,0.5.x 版本将不再进行维护. 绘制的饼图效果是这样的: 没有安装PyEcharts的,先安装PyEcharts: 安装好PyEcharts之后,就可以将需要使用的模

  • 使用python绘制人人网好友关系图示例

    代码依赖:networkx matplotlib 复制代码 代码如下: #! /bin/env python# -*- coding: utf-8 -*- import urllibimport urllib2import cookielibimport reimport cPickle as pimport networkx as nximport matplotlib.pyplot as plt __author__ = """Reverland (lhtlyy@gmai

随机推荐