目录
1.画污染物浓度排名前20的时段数据可视化结果的代码(只展示了NO2)
总纲
写在前面的话
首先这篇博客绝对原创。读者遇到编程中的任何问题可以留言,看到了就会回复
需要的前瞻知识
这篇博客是假设读者都是已经安装好了Hadoop,Spark,以及对idea插件等,如果在安装这些大数据软件遇到了困难可以根据版本号在CSDN里搜对应的大数据软件安装
用到的软件版本
Hadoop2.7.7;Java1.8.0;sbt1.4.0;Spark2.4.0;Hive2.1.1;ZooKeeper3.5.10;Python3.7.9
数据集
也可点击下面的链接
链接:https://pan.baidu.com/s/13T8IHjAjvbsvQtQ01Ro__Q?pwd=494j
提取码:494j
代码原理
对于SO2和NO2的趋势可视化我只展示了前100个,因为图只有这么大,整个数据有18932个,画完所有是比较漫长也没有含义的,有兴趣的可以改一下,真的分析一下,得到一些结论
所有代码
对于代码我分成了几个部分
导包
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import glob
主函数代码
drawTask1NO2()
drawTask2PM25()
drawTask3()
drawTask4NO2_SO2()
1.画污染物浓度排名前20的时段数据可视化结果的代码(只展示了NO2)
def drawTask1NO2():
path = "/root/work/Task1/NO2_20.csv/*.csv"
all_files = glob.glob(path)
# 读取csv文件
df = pd.concat(map(pd.read_csv, all_files))
# print(df)
# 设置画图的大小
plt.figure(figsize=(20, 12))
# 绘制线图,x轴是时间,y轴是NO2浓度
plt.plot(df['监测时间'], df['NO2监测浓度(μg/m³)'])
plt.xticks(rotation=300)
plt.title(u'Trend of NO2')
plt.xlabel(u'Time')
plt.ylabel(u'NO2 Concentration')
# 显示图形
plt.show()