使用Python繪制空氣質(zhì)量日歷圖
前言
在github中經(jīng)??梢钥吹较旅娴娜諝v圖,可以用來(lái)表示每一天在github上的活躍程度。
類(lèi)似的方法也可以用到空氣質(zhì)量的可視化方式中來(lái),只要有每天的空氣質(zhì)量指數(shù)就可以。
數(shù)據(jù)
我這里使用的是2020年北京市各個(gè)監(jiān)測(cè)站點(diǎn)的空氣質(zhì)量觀測(cè)數(shù)據(jù),原始數(shù)據(jù)包含PM2.5,PM10,AQI指數(shù),這里選擇AQI作為示例。
這里對(duì)原始數(shù)據(jù)做了簡(jiǎn)單處理,具體過(guò)程不贅述,感興趣的話也可以看文末獲取方式。
處理后的數(shù)據(jù)形式如下:
calmap
繪制日歷圖可以用calmap庫(kù)直接繪制,安裝直接用pip。
詳細(xì)可視化方法如下:
定義可視化方式
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 ) # 色標(biāo) 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')) # 標(biāo)題 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')
最后也對(duì)兩個(gè)測(cè)站的空氣質(zhì)量做了個(gè)統(tǒng)計(jì)
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()
最后
這一篇給大家簡(jiǎn)單的制作這么一個(gè)日歷圖,代碼就放到上面了,喜歡的小伙伴記得點(diǎn)贊收藏,下一章見(jiàn)啦。
到此這篇關(guān)于使用Python繪制空氣質(zhì)量日歷圖的文章就介紹到這了,更多相關(guān)Python繪制日歷圖內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python庫(kù)pycryptodom加密技術(shù)探索(公鑰加密私鑰加密)
這篇文章主要為大家介紹了python庫(kù)pycryptodom加密技術(shù)探索(公鑰加密私鑰加密),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01python pdfkit 中文亂碼問(wèn)題的解決方案
這篇文章主要介紹了python pdfkit 中文亂碼問(wèn)題的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-03-03python3.7安裝matplotlib失敗問(wèn)題的完美解決方法
由于學(xué)習(xí)需要安裝matplotlib庫(kù),閱讀網(wǎng)上教程后一直出現(xiàn)各種各樣的錯(cuò)誤,下面這篇文章主要給大家介紹了關(guān)于python3.7安裝matplotlib失敗問(wèn)題的完美解決方法,需要的朋友可以參考下2022-07-07解讀keras中的正則化(regularization)問(wèn)題
這篇文章主要介紹了解讀keras中的正則化(regularization)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-12-12解決python中 f.write寫(xiě)入中文出錯(cuò)的問(wèn)題
今天小編就為大家分享一篇解決python中 f.write寫(xiě)入中文出錯(cuò)的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-10-10python不支持i++運(yùn)算原理實(shí)例解析
這篇文章主要為大家介紹了python不支持 i++運(yùn)算原理實(shí)例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-02-02Python中用于檢查英文字母大寫(xiě)的isupper()方法
這篇文章主要介紹了Python中用于檢查英文字母大寫(xiě)的isupper()方法,是Python入門(mén)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-05-05python3使用騰訊企業(yè)郵箱發(fā)送郵件的實(shí)例
今天小編就為大家分享一篇python3使用騰訊企業(yè)郵箱發(fā)送郵件的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-06-06