import matplotlib.pyplot as plt import pandas as pd import numpy as np df = pd.read_csv("data.tsv", index_col=0 , sep = "\t") fig, ax = plt.subplots(figsize=(8, 5)) x = np.arange(df.index.size) ax.bar(x-0.25, df["General practitioner"] , color="#3b95d3", width=0.25, bottom=0) ax.bar(x, df["Psychiatrist"] , color="#D676AB", width=0.25, bottom=0) ax.bar(x+0.25, df["Psychologist"] , color="#9BBB59", width=0.25, bottom=0) ax.legend(df.columns, fontsize=10, ncol=2, loc='upper right', frameon=True, facecolor="#dddddd") 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.17, right=0.99, top=0.88) plt.title("Type of provider(s) consulted for mental health problems 2010\n(OECD Making Mental Health Count 2014)", fontsize=13) plt.tick_params(labelsize=10, pad=4) plt.xticks(x, df.index, rotation=55, size=8) plt.ylabel("Percentage", size=8) plt.yticks(fontsize=9) plt.ylim([0,100]) 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")