import matplotlib.pyplot as plt import pandas as pd df = pd.read_csv("data.tsv", index_col=0 , sep = "\t") df["s"] = df[["Paid work or study","Unpaid work"]].sum(axis=1) df = df.sort_values(by=["s"], ascending=True) df = df.drop("s", axis=1) fig, ax = plt.subplots(figsize=(16, 8)) ax.bar(df.index, df["Paid work or study"] , color="#D676AB", width=0.7) ax.bar(df.index, df["Unpaid work"], color="#E69717", width=0.7, bottom=df["Paid work or study"] ) ax.bar(df.index, df["Personal care"] , color="#5E95CD", width=0.7, bottom=df["Paid work or study"] + df["Unpaid work"] ) ax.bar(df.index, df["Leisure"], color="#9BBB59", width=0.7, bottom=df["Paid work or study"] + df["Unpaid work"] + df["Personal care"] ) ax.bar(df.index, df["Other"], color="#999999", width=0.7, bottom=df["Paid work or study"] + df["Unpaid work"] + df["Personal care"]+ df["Leisure"] ) ax.legend(df.columns, fontsize=12, ncol=5, 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("Time off for 15-64 age, 2020 or Latest (OECD stat)", fontsize=26) plt.tick_params(labelsize=10, pad=4) plt.ylabel("Minutes allocate in day", size=15) plt.xticks(rotation=60) plt.yticks(fontsize=13) plt.grid(which='major',color='#cccccc',linestyle='-', axis="y") plt.savefig("image.svg")