import matplotlib.pyplot as plt
import pandas as pd
df = pd.read_csv("data.tsv", index_col=0 , sep = "\t")
df = df.fillna(0)
df = df.sort_values(by=["Total"], ascending=True)
fig, ax = plt.subplots(figsize=(16, 8))
ax.bar(df.index, df["Supranational"] , color="#FF0000", width=0.7)
ax.bar(df.index, df["Federal or Central"], color="#6794B7", width=0.7, bottom=df["Supranational"] )
ax.bar(df.index, df["State/Regional"] , color="#D480E5", width=0.7, bottom=df["Supranational"] + df["Federal or Central"] )
ax.bar(df.index, df["Local government"], color="#E69717", width=0.7, bottom=df["Supranational"] + df["Federal or Central"] + df["State/Regional"] )
ax.bar(df.index, df["Social Security Funds"], color="#9BBB59", width=0.7, bottom=df["Supranational"] + df["Federal or Central"] + df["State/Regional"]+ df["Local government"] )
ax.legend(df.columns, fontsize=12, ncol=6, loc='center' ,bbox_to_anchor=(0., -0.23, 1., .102) )
ax.set_axisbelow(True)
plt.rcParams['font.family'] = 'sans-serif'
plt.rcParams['font.sans-serif'] = ['Noto Sans Display']
plt.subplots_adjust(left=0.08, bottom=0.15, right=0.99, top=0.9)
plt.title("Tax revenue as % of GDP,2019 (OECD Revenue)", fontsize=26)
plt.tick_params(labelsize=10, pad=4)
plt.ylabel("% of GDP", size=18)
plt.ylim([0,50])
plt.xticks(rotation=60,fontsize=9)
plt.yticks(fontsize=13)
plt.minorticks_on()
plt.grid(which='major',color='#999999',linestyle='-', axis="y")
plt.grid(which='minor',color='#cccccc',linestyle='--', axis="y")
plt.savefig("image.svg")