本次使用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’)

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐