def plot_violin_pollutant(pollutant: POLLUTANT, save=False): df = create_pollutant_df(pollutant, "../../data/main/cleaned/mean/") plt.subplots(figsize=(14, 6)) sns.set_style("whitegrid", {'grid.linestyle': '-'}) axes = sns.violinplot(x=CITY_NAME, y=f'mean {pollutant.name} (µg/m3)', data=df, palette='terrain') finalize_plot(axes, f'{pollutant.name} emissions', save, f'violin_plot_{pollutant.name}.png')
def plot_pollutant_last_years(pollutant: POLLUTANT, save=False): df = create_pollutant_df(pollutant, "../../data/main/cleaned/mean/") df = df[df['Date'] > pd.Timestamp(2019, 1, 1, 0).tz_localize( df['Date'].iloc[0].tz)] plt.subplots(figsize=(14, 6)) sns.set_style("whitegrid", {'grid.linestyle': '-'}) axes = sns.lineplot(x=DATE_NAME, y=f'mean {pollutant.name} (µg/m3)', data=df, hue=CITY_NAME) finalize_plot(axes, f'{pollutant.name} emissions', save, f'plot_{pollutant.name}_last_year.png')
def compare_19_20(pollutant: POLLUTANT, save=False): df = create_pollutant_df(pollutant, "../../data/main/cleaned/mean/") df = df[df[DATE_NAME] >= pd.Timestamp(2019, 1, 1, 0).tz_localize( df['Date'].iloc[0].tz)] df = df[df[DATE_NAME].dt.month.isin([2, 3, 4])] df = compare_year_to_year(df) df = df.round(2) df.drop(['AirPollutant', 'UnitOfMeasurement'], axis=1, inplace=True) fig = go.Figure(data=[ go.Table(header=dict( values=list(df.columns), fill_color='grey', align='center'), cells=dict(values=[ df['Countrycode'], df['City'], df['Date'], df['Previous year value'], df['Year value'], df['diff'], df['diff %'] ], fill_color='lightgrey', align='center')) ]) fig.update_layout( title=f'Difference for {pollutant.name} emissions between 2019 and 2020' ) fig.show()
def test_compare_year_to_year(): df = create_pollutant_df(POLLUTANT.o3, "../../data/test/mean/") df = compare_year_to_year(df) assert len(df.columns) == 9 assert len(df) == 24
def test_create_pollutant_df(): df = create_pollutant_df(POLLUTANT.o3, "../../data/test/mean/") assert len(df.columns) == 6 assert len(df) == 48