本次使用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’)
#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’)
#饼状图
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’)
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’)