使用Python繪制空氣質(zhì)量日歷圖
前言
在github中經(jīng)常可以看到下面的日歷圖,可以用來表示每一天在github上的活躍程度。

類似的方法也可以用到空氣質(zhì)量的可視化方式中來,只要有每天的空氣質(zhì)量指數(shù)就可以。
數(shù)據(jù)
我這里使用的是2020年北京市各個監(jiān)測站點的空氣質(zhì)量觀測數(shù)據(jù),原始數(shù)據(jù)包含PM2.5,PM10,AQI指數(shù),這里選擇AQI作為示例。
這里對原始數(shù)據(jù)做了簡單處理,具體過程不贅述,感興趣的話也可以看文末獲取方式。
處理后的數(shù)據(jù)形式如下:

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')
最后也對兩個測站的空氣質(zhì)量做了個統(tǒng)計
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()

最后
這一篇給大家簡單的制作這么一個日歷圖,代碼就放到上面了,喜歡的小伙伴記得點贊收藏,下一章見啦。
到此這篇關(guān)于使用Python繪制空氣質(zhì)量日歷圖的文章就介紹到這了,更多相關(guān)Python繪制日歷圖內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python代碼覆蓋率統(tǒng)計工具coverage.py用法詳解
這篇文章主要介紹了Python代碼覆蓋率統(tǒng)計工具coverage.py用法詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-11-11
深入理解Python中的 __new__ 和 __init__及區(qū)別介紹
這篇文章主要介紹了深入理解Python中的 __new__ 和 __init__及區(qū)別介紹,這兩個方法的主要區(qū)別在于:__new__ 負責對象的創(chuàng)建而 __init__ 負責對象的初始化。具體內(nèi)容詳情大家跟隨小編一起看看吧2018-09-09
Python爬蟲請求模塊Urllib及Requests庫安裝使用教程
requests和urllib都是Python中常用的HTTP請求庫,使用時需要根據(jù)實際情況選擇,如果要求使用簡單、功能完善、性能高的HTTP請求庫,可以選擇requests,如果需要兼容性更好、功能更加靈活的HTTP請求庫,可以選擇urllib2023-11-11

