from pathlib import Path

import matplotlib.pyplot as plt
import pandas as pd

csv_path = Path(__file__).resolve().parents[2] / "retail_raw_reduced.csv"
dataset = pd.read_csv(csv_path)

dataset['order_date'] = pd.to_datetime(dataset['order_date'])
dataset['order_month'] = dataset['order_date'].dt.strftime('%Y-%m')

top_brands = (dataset[dataset['order_month'] == '2019-12'].groupby('brand')['quantity']
              .sum()
              .reset_index()
              .sort_values(by='quantity', ascending=False)
              .head(5))

dataset_top5brand_dec = dataset[(dataset['order_month'] == '2019-12') &
                                (dataset['brand'].isin(top_brands['brand'].to_list()))]

plt.clf()
dataset_top5brand_dec.groupby("brand")["product_id"].nunique().sort_values(ascending=False).plot(
    kind="bar",
    color='green')
plt.title("Jumlah Unique Product Terjual - Top 5 Brands (Desember 2019)", loc='center', fontsize=15, pad=30, color='blue')
plt.xlabel("Brand", fontsize=15)
plt.ylabel("Jumlah Unique Product", fontsize=15)
plt.ylim(ymin=0)
plt.xticks(rotation=0)
plt.show()
