"""
Display sales of various cities in a sunburst chart.

Given the cities can have recurring parents, we can have
a sunburst chart with 2 rings, the centermost ring for the
country, and the outmost ring to have sales per city.
"""
import matplotlib
import pandas as pd
from matplotlib import pyplot

if __name__ == '__main__':
    matplotlib.use("QtCairo")
    df = pd.DataFrame(data={
        "country": ["France", "France", "Spain", "Spain"],
        "city": ["Montpellier", "Bordeaux", "Madrid", "Valencia"],
        "sales": [150_000, 127_000, 97_200, 137_250]
    })
    df.set_index(["country", "city"], inplace=True)
    total: int = df["sales"].sum()
    print(df)
    axes = df.plot.pie(subplots=True, autopct=lambda x: f"{x * total / 100:.0f} {x:.2f}%")
    pyplot.show()

