import numpy as np
from cycler import cycler
import matplotlib.pyplot as plt
import pandas as pd
df = pd.read_csv("data.tsv", index_col=0 , sep = "\t")
df = df.sort_values(by=["Total"], ascending=True).fillna(0)
df1 = df.drop('Total', axis=1).T
#plt.rcParams["axes.prop_cycle"] = plt.cycler("color", plt.get_cmap("tab20")(np.linspace(0,1,12)))
plt.rcParams['axes.prop_cycle'] = cycler(color=['#e5961d', '#4DAF4A', '#B15928', '#3b95d3', '#7FC97F', '#d7352b', '#ffd924', '#a652c1', '#686d69'])
fig, ax = plt.subplots(figsize=(14, 7))
for i in range( len(df1) ):
ax.bar(df1.columns, df1.iloc[i] , width=0.7, bottom=df1.iloc[:i].sum())
ax.legend(df.columns, fontsize=13, loc='upper left', ncol=2, frameon=True, facecolor="#dddddd")
ax.set_axisbelow(True)
plt.rcParams['font.family'] = 'sans-serif'
plt.rcParams['font.sans-serif'] = ['Noto Sans Display']
plt.subplots_adjust(left=0.05, bottom=0.14, right=0.98, top=0.92)
plt.title("Social expenditure as % of GDP, by Branch (OECD,2019)", fontsize=25)
plt.tick_params(labelsize=10, pad=4)
plt.xticks(df.index, rotation=70, size=10)
plt.yticks(fontsize=13)
plt.ylabel("% of GDP", size=15)
ax.minorticks_on()
plt.grid(which='major',color='#999999',linestyle='-', axis="y")
plt.grid(which='minor',color='#e3e3e3',linestyle='--', axis="y")
plt.savefig("image.svg")