import numpy as np import matplotlib.pyplot as plt from cycler import cycler import pandas as pd df = pd.read_csv("data.tsv", index_col=0 , sep = "\t") df = df.T df = df.fillna(method = 'ffill') fig, ax = plt.subplots(figsize=(12, 8)) plt.rcParams['font.family'] = 'sans-serif' plt.rcParams['font.sans-serif'] = ['Noto Sans Display'] plt.rcParams["axes.prop_cycle"] = plt.cycler("color", plt.get_cmap("tab20")(np.linspace(0,1,20))) plt.subplots_adjust(left=0.06, bottom=0.16, right=0.97, top=0.95) cc = cycler('ls', ['-', '--', ':', '-.']) ax.set_prop_cycle( plt.rcParams['axes.prop_cycle'] * cc) ax.plot(df, linewidth=1.8) ax.legend(df.columns, fontsize=9, ncol=10, loc='center' ,bbox_to_anchor=(0, -0.18, 1, 0.102), frameon=True, facecolor="#eeeeee") ax.set_axisbelow(True) plt.ylabel("Per 100,000 persons", fontsize=12) plt.ylim([0,40]) plt.xlim(-0.5, len(df)-.5) plt.title("Suicide rates, age-standardised (OECD Health)", fontsize=16) plt.tick_params(labelsize=9, pad=4) plt.xticks(rotation=35, fontsize=7) plt.yticks(fontsize=11) ax.minorticks_on() plt.grid(which='major',color='#999999',linestyle='-', axis="y") plt.grid(which='minor',color='#eeeeee',linestyle='--', axis="y") plt.savefig("image.svg")