import matplotlib as mpl
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=["Government/compulsory schemes"], ascending=False)
df = df.drop('Government/compulsory schemes', axis=1)
df = df.fillna(0).T
mpl.rcParams['axes.xmargin'] = 0.02
plt.rcParams['axes.prop_cycle'] = cycler(color=['#93CDDD', '#957ccb', '#E69717', '#D83227', '#A3DF6E', '#d7352b', '#ffd924', '#a652c1', '#686d69'])
fig, ax = plt.subplots(figsize=(12, 6))
for i in range( len(df) ):
ax.bar(df.columns, df.iloc[i] , width=0.7, bottom=df.iloc[:i].sum())
plt.rcParams['font.family'] = 'sans-serif'
plt.rcParams['font.sans-serif'] = ['Noto Sans Display']
plt.subplots_adjust(left=0.08, bottom=0.19, right=0.98, top=0.93)
plt.title("Health expenditure by type of financing, 2019 (OECD SOCX)", fontsize=18)
plt.tick_params(labelsize=10, pad=4)
ax.legend(df.index, fontsize=9, loc='center', ncol=5, frameon=True, facecolor="#dddddd",
bbox_to_anchor=(0., -0.28, 1., .102) )
ax.set_axisbelow(True)
plt.xticks(df.columns, rotation=70, size=9)
plt.yticks(fontsize=13)
plt.ylabel("% of Health expenditure", size=13)
plt.ylim([0,100])
ax.minorticks_on()
plt.grid(which='major',color='#999999',linestyle='-', axis="y")
plt.grid(which='minor',color='#cccccc',linestyle='--', axis="y")
plt.savefig("image.svg")