欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

python基础学习之空气质量可视化(六)数据可视化

程序员文章站 2022-07-14 16:35:31
...

本次使用jupyter lab 进行数据可视化
import pandas as pd
from pyecharts.globals import CurrentConfig, NotebookType
CurrentConfig.NOTEBOOK_TYPE = NotebookType.JUPYTER_LAB

import pyecharts.options as opts
from pyecharts.globals import ThemeType
from pyecharts.charts import Parallel
import pymysql

导入数据

conn = pymysql.connect(
host=“127.0.0.1”,
port=3306,
user=“root”,
password=“root”,
database=“chai”,
)

qu_sql = “select *from aq”
data= pd.read_sql_query(qu_sql, conn)
data = df[(df[‘year’] == (‘2019’))]
df_final = data[[‘AQI’, ‘PM2’, ‘PM10’,‘SO2’,‘CO’,‘NO2’,‘O3’,‘grade’]].values.tolist()

关闭链接

conn.close()

parallel = (
Parallel(init_opts=opts.InitOpts(theme=ThemeType.DARK))
.add_schema(
[
opts.ParallelAxisOpts(dim=0, name=“AQI”),
opts.ParallelAxisOpts(dim=1, name=“PM2”),
opts.ParallelAxisOpts(dim=2, name=“PM10”),
opts.ParallelAxisOpts(dim=3, name=“SO2”),
opts.ParallelAxisOpts(dim=4, name=“CO”),
opts.ParallelAxisOpts(dim=5, name=“NO2”),
opts.ParallelAxisOpts(dim=6, name=“O3”),
#opts.ParallelAxisOpts(dim=5, name=“PM10”),
opts.ParallelAxisOpts(
dim=7,
name=“grade”,
type_=“category”,
data=[“优”, “良”, “轻度污染”, “中度污染”, “重度污染”, “严重污染”],
),
]
)
.add(“2019年郑州”, df_final[:365])
.set_global_opts(title_opts=opts.TitleOpts(title=“郑州19年空气质量平行折线图”))
)
parallel.load_javascript()
parallel.render_notebook()
parallel.render(‘郑州空气质量平行折线图.html’)
python基础学习之空气质量可视化(六)数据可视化#AQI走势图
import pandas as pd
from pyecharts.globals import CurrentConfig, NotebookType
CurrentConfig.NOTEBOOK_TYPE = NotebookType.JUPYTER_LAB

import pyecharts.options as opts
from pyecharts.globals import ThemeType
from pyecharts.charts import Parallel
from pyecharts.charts import Line
import pymysql

导入数据

conn = pymysql.connect(
host=“127.0.0.1”,
port=3306,
user=“root”,
password=“root”,
database=“chai”,
)

qu_sql = “select *from aq”
df = pd.read_sql_query(qu_sql, conn)

关闭链接

conn.close()

attr = df[‘date’].values.tolist()
v1 = df[‘AQI’].values.tolist()

line = (
Line(init_opts=opts.InitOpts(theme=ThemeType.DARK))
.add_xaxis(attr)
.add_yaxis(“AQI值”, v1,
markline_opts=opts.MarkLineOpts(data=[opts.MarkLineItem(type_=‘average’)]),
markpoint_opts=opts.MarkPointOpts(data=[opts.MarkPointItem(type_=‘max’),
opts.MarkPointItem(type_=‘min’)])
)
.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
.set_global_opts(title_opts=opts.TitleOpts(title=‘郑州14-19年AQI走势图’))
)
line.render_notebook()
line.render(‘郑州14-19年AQI走势图.html’)

python基础学习之空气质量可视化(六)数据可视化#饼状图
import pandas as pd
from pyecharts.globals import CurrentConfig, NotebookType
CurrentConfig.NOTEBOOK_TYPE = NotebookType.JUPYTER_LAB

import pyecharts.options as opts
from pyecharts.globals import ThemeType
from pyecharts.charts import Parallel
from pyecharts.charts import Line
import pymysql
import numpy as np
from pyecharts.charts import Pie

导入数据

conn = pymysql.connect(
host=“127.0.0.1”,
port=3306,
user=“root”,
password=“root”,
database=“chai”,
)

qu_sql = “select *from aq”
df = pd.read_sql_query(qu_sql, conn)

关闭链接

conn.close()

rank_message = df.groupby([‘grade’])
rank_com = rank_message[‘grade’].agg([‘count’])
rank_com.reset_index(inplace=True)
rank_com_last = rank_com.sort_values(‘count’, ascending=False)

attr = rank_com_last[‘grade’]
v1 = rank_com_last[‘count’]

pie = (
Pie(init_opts=opts.InitOpts(theme=ThemeType.DARK))
.add(“空气质量”, [list(z) for z in zip(attr, v1)], radius=[130, 180],
tooltip_opts=opts.TooltipOpts(textstyle_opts=opts.TextStyleOpts(align=‘center’),
formatter=’{a}’+’
’+’{b}: {c} ({d}%)’))
.set_global_opts(title_opts=opts.TitleOpts(title=‘郑州14-19年空气质量情况’, pos_left=‘center’),
legend_opts=opts.LegendOpts(orient=‘vertical’, pos_top=‘5%’, pos_left=‘2%’)
)
)
pie.render_notebook()
pie.render(‘郑州14-19年空气质量情况.html’)
python基础学习之空气质量可视化(六)数据可视化import pandas as pd
from pyecharts.globals import CurrentConfig, NotebookType
CurrentConfig.NOTEBOOK_TYPE = NotebookType.JUPYTER_LAB

import pyecharts.options as opts
from pyecharts.globals import ThemeType
from pyecharts.charts import Parallel
from pyecharts.charts import Line
import pymysql
import numpy as np
from pyecharts.charts import Pie
import pandas as pd
import numpy as np
from pandas import Series, DataFrame
import matplotlib as mpl
import matplotlib.pyplot as plt

导入数据

conn = pymysql.connect(
host=“127.0.0.1”,
port=3306,
user=“root”,
password=“root”,
database=“chai”,
)

qu_sql = “select *from aq”
df = pd.read_sql_query(qu_sql, conn)

关闭链接

cityes_PM = []
for i in range(1):

df = pd.read_sql_query(qu_sql, conn)
pm_data = df[(df['year'] == ('2014'))]
get_data = pm_data[['month', 'O3']]

求每个月PM平均值

month_data = get_data.groupby(['month'])
month_PM = month_data['O3'].agg(['mean'])
month_PM.reset_index(inplace = True)
month_PM_average = month_PM.sort_index()

获取每个城市月均PM的数据,转化为int数据类型

month_PM_data = np.array(month_PM_average['mean'])
month_PM_data_int = [int(i) for i in month_PM_data]
cityes_PM.append(month_PM_data_int)

months = [’{}’.format(str(i) + ‘月’) for i in range(1, 13)]
for i in range(1):

df = pd.read_sql_query(qu_sql, conn)
pm_data = df[(df['year'] == ('2015'))]
get_data = pm_data[['month', 'O3']]

求每个月PM平均值

month_data = get_data.groupby(['month'])
month_PM = month_data['O3'].agg(['mean'])
month_PM.reset_index(inplace = True)
month_PM_average = month_PM.sort_index()

获取每个城市月均PM的数据,转化为int数据类型

month_PM_data = np.array(month_PM_average['mean'])
month_PM_data_int = [int(i) for i in month_PM_data]
cityes_PM.append(month_PM_data_int)

months = [’{}’.format(str(i) + ‘月’) for i in range(1, 13)]
for i in range(1):

df = pd.read_sql_query(qu_sql, conn)
pm_data = df[(df['year'] == ('2016'))]
get_data = pm_data[['month', 'O3']]

求每个月PM平均值

month_data = get_data.groupby(['month'])
month_PM = month_data['O3'].agg(['mean'])
month_PM.reset_index(inplace = True)
month_PM_average = month_PM.sort_index()

获取每个城市月均PM的数据,转化为int数据类型

month_PM_data = np.array(month_PM_average['mean'])
month_PM_data_int = [int(i) for i in month_PM_data]
cityes_PM.append(month_PM_data_int)

months = [’{}’.format(str(i) + ‘月’) for i in range(1, 13)]
for i in range(1):

df = pd.read_sql_query(qu_sql, conn)
pm_data = df[(df['year'] == ('2017'))]
get_data = pm_data[['month', 'O3']]

求每个月PM平均值

month_data = get_data.groupby(['month'])
month_PM = month_data['O3'].agg(['mean'])
month_PM.reset_index(inplace = True)
month_PM_average = month_PM.sort_index()

获取每个城市月均PM的数据,转化为int数据类型

month_PM_data = np.array(month_PM_average['mean'])
month_PM_data_int = [int(i) for i in month_PM_data]
cityes_PM.append(month_PM_data_int)

months = [’{}’.format(str(i) + ‘月’) for i in range(1, 13)]
for i in range(1):

df = pd.read_sql_query(qu_sql, conn)
pm_data = df[(df['year'] == ('2018'))]
get_data = pm_data[['month', 'O3']]

求每个月PM平均值

month_data = get_data.groupby(['month'])
month_PM = month_data['O3'].agg(['mean'])
month_PM.reset_index(inplace = True)
month_PM_average = month_PM.sort_index()

获取每个城市月均PM的数据,转化为int数据类型

month_PM_data = np.array(month_PM_average['mean'])
month_PM_data_int = [int(i) for i in month_PM_data]
cityes_PM.append(month_PM_data_int)

months = [’{}’.format(str(i) + ‘月’) for i in range(1, 13)]
for i in range(1):

df = pd.read_sql_query(qu_sql, conn)
pm_data = df[(df['year'] == ('2019'))]
get_data = pm_data[['month', 'O3']]

求每个月PM平均值

month_data = get_data.groupby(['month'])
month_PM = month_data['O3'].agg(['mean'])
month_PM.reset_index(inplace = True)
month_PM_average = month_PM.sort_index()

获取每个城市月均PM的数据,转化为int数据类型

month_PM_data = np.array(month_PM_average['mean'])
month_PM_data_int = [int(i) for i in month_PM_data]
cityes_PM.append(month_PM_data_int)

months = [’{}’.format(str(i) + ‘月’) for i in range(1, 13)]

line = (
Line(init_opts=opts.InitOpts(theme=ThemeType.DARK))
.add_xaxis(months)
.add_yaxis(“2014”, cityes_PM[0])
.add_yaxis(“2015”, cityes_PM[1])
.add_yaxis(“2016”, cityes_PM[2])
.add_yaxis(“2017”, cityes_PM[3])
.add_yaxis(“2018”, cityes_PM[4])
.add_yaxis(“2019”, cityes_PM[5])
.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
.set_global_opts(title_opts=opts.TitleOpts(title=‘郑州14-19年O3全年走势图’),
legend_opts=opts.LegendOpts(pos_top=‘8%’)
)
)
line.render_notebook()
line.render(‘1415.html’)
python基础学习之空气质量可视化(六)数据可视化