import matplotlib as mpl from cycler import cycler import matplotlib.pyplot as plt import pandas as pd df = pd.read_csv("data.tsv", index_col=0 , sep = "\t") mpl.rcParams['axes.xmargin'] = 0.02 fig, ax = plt.subplots(figsize=(8, 5)) 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.23, right=0.98, top=0.88) plt.title("Employed person in Japan 2022, \nby type of employment (MHLW Labor Force Survey)", fontsize=15) plt.tick_params(labelsize=10, pad=4) ax.legend(df.index, fontsize=9, ncol=4, loc='center' ,bbox_to_anchor=(0., -0.31, 1., .102) , facecolor="#dddddd" , title="Type of employment (Excludes executive class)", title_fontsize=9) ax.set_axisbelow(True) plt.xticks(df.columns, rotation=45, size=9) plt.yticks(fontsize=9) plt.xlabel("Age", size=9 ,loc="right") plt.ylabel("10,000 person", size=10) ax.minorticks_on() plt.grid(which='major',color='#999999',linestyle='-', axis="y") plt.grid(which='minor',color='#dddddd',linestyle='--', axis="y") plt.savefig("image.svg")