import matplotlib.pyplot as plt import matplotlib.ticker as ticker from cycler import cycler import pandas as pd df = pd.read_csv("data.tsv", index_col=0 , sep = "\t") df_jp = df[~ df.index.str.contains('G7')] df_g7 = df[df.index.str.contains('G7')] fig, ax = plt.subplots(figsize=(12, 6)) plt.rcParams['font.family'] = 'sans-serif' plt.rcParams['font.sans-serif'] = ['Noto Sans Display'] ax.set_prop_cycle( plt.rcParams['axes.prop_cycle']) plt.subplots_adjust(left=0.06, bottom=0.15, right=0.96, top=0.93) v = df_jp[df_jp.index.str.contains("all-age")].T ax.plot(v , linewidth=2 , label=v.columns) v = df_jp[df_jp.index.str.contains("15")].T ax.plot(v , linewidth=1, label=v.columns) v = df_g7[df_g7.index.str.contains("all-age")].T ax.plot(v , linewidth=2, ls=":", label=v.columns) v = df_g7[df_g7.index.str.contains("15")].T ax.plot(v , linewidth=1, ls=":", label=v.columns) ax.fill_between( df.columns ,0, df.T["All persons; all-age"].values, color="lightblue", alpha=0.5, label="") lines, labels = ax.get_legend_handles_labels() ax.legend(lines , labels, fontsize=9, ncol=6, loc='center' ,bbox_to_anchor=(0., -0.18, 1., .102) , facecolor="#eeeeee") ax.set_axisbelow(True) plt.title("Unemployment rate in Japan (OECD Labour Force stat)", fontsize=16) plt.tick_params(labelsize=9, pad=4) plt.ylabel("Unemployment rate (%) ", fontsize=13) plt.xticks(rotation=35, fontsize=7) plt.yticks(fontsize=11) plt.ylim([0,16]) ax.xaxis.set_major_locator(ticker.MultipleLocator(2)) plt.minorticks_on() plt.grid(which='major',color='#dddddd',linestyle='-', axis="x") plt.grid(which='minor', linestyle='None', axis="x") plt.grid(which='major',color='#cccccc',linestyle='-', axis="y") plt.grid(which='minor',color='#eeeeee',linestyle='-', axis="y") plt.savefig("image.svg")