import matplotlib.pyplot as plt
import pandas as pd
from mpl_ornaments.titles import set_title_and_subtitle

fig, ax = plt.subplots(nrows=1, ncols=1)

df = pd.read_csv('data/gdp-g7-2010-2020.csv', comment='#')

df = df[df['Year'] == (year := 2020)]
#1
df.sort_values(by='Total', inplace=True, ascending=True)

#2
ax.barh(y=df['Country'], width=df['Total'])

ax.spines[['top', 'bottom', 'right']].set_visible(False)

ax.grid(visible=True, which='major', axis='x')
ax.set_axisbelow(True)

title = f'GDP of the G7 countries in {year}'
subtitle = 'In bn USD. Source: The World Bank.'
set_title_and_subtitle(fig=fig, title=title, subtitle=subtitle, 
                       alignment='left', h_offset=10)

fig.savefig('charts/horizontal-bar-chart.png', dpi=300, 
            bbox_inches='tight')