空气质量超标状况主要包括超标天数、污染级别以及首要污染物,首要污染物一般种类单一,基本上为颗粒物或臭氧,本篇主要分析超标天数及污染级别。
空气质量是否超标以及超标污染级别的依据为《环境空气质量指数(AQI)技术规定》(HJ633-2012)。
该部分数据处理较为简单,只需计算出各年各污染级别的天数及各年总超标天数即可。核心绘图代码如下,需要注意堆积柱状图的bottom计算。
plt.figure()
plt.bar(np.arange(len(year_list)), height=slight, width=0.3, color='#01ff07', label='轻度污染', ec='#000000',ls='-', hatch=".")
plt.bar(np.arange(len(year_list)), height=middle, width=0.3, color='#ffff84', bottom=slight, label='中度污染', ec='#000000', ls='-', hatch="..")
plt.bar(np.arange(len(year_list)), height=serious, width=0.3, color='#ffa756',bottom=np.array(slight) + np.array(middle), label='重度污染', ec='#000000', ls='-', hatch="...")
plt.ylabel('空气质量超标天数(天)')
plt.xticks(np.arange(len(year_list)), [str(i) + '年' for i in year_list])
plt.grid(axis='y', ls='--')
for a, b in zip(range(len(year_list)), o_s_days):
plt.text(a, b, str(b), ha='center', va='bottom')
o_s_day_tmp = np.array(o_s_days)
plt.ylim(0, max(o_s_day_tmp) + 1)
plt.legend()
plt.show()
该地区超标状况如下图所示
对某地区空气质量超标的分析可以反映出该地区空气质量的变化趋势。下期进行污染物浓度年际变化分析。
以下是本人独自运营的微信公众号,用于分享个人学习及工作生活趣事,大佬们可以关注一波。