#import plotly.graph_objects as go
#import plotly.express as px
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np

dat = pd.read_csv('runtimes_just2exps.csv')
sims = list(dat.columns)[1:]

fig = plt.figure(figsize=(14,5))
#color = ['blue','red']
#colors = ['red','blue','cornflowerblue','cornflowerblue','cornflowerblue','green','lightgreen','lightgreen','lightgreen','orange','orange','orange','orange','gray','gray']
colors = ['red','blue','cornflowerblue','cornflowerblue','cornflowerblue','green','lightgreen','lightgreen','lightgreen','lightgreen','darkorange','orange','orange','orange','orange']
for i in range(len(sims)):
    isim = sims[i]
    ax = fig.add_subplot(1,len(sims),i+1)
    ax.barh(dat['Label'],dat[isim],color=list(reversed(colors)))
    ax.tick_params(bottom = False, top = False, left = False, right = False)
    _ = ax.set_xlim(0,6300)
    #ax.set_xlim(0,4)
    plt.xticks(dat[isim],'')
    #_ = ax.set_title('{} (total={})'.format(isim,dat[isim].sum()))
    _ = ax.set_title('{}'.format(isim),weight='bold',loc='left')
    for idx, v in dat[isim].iteritems():
        _ = ax.text(v,idx,str(v),va='center')
    if i > 0:
        _ = ax.tick_params(labelleft=False)
    for pos, spine in ax.spines.items():
        spine.set_visible(False)

plt.suptitle('GEOS model updated run times',fontsize=14)
fig.tight_layout(rect=[0,0.0,1,0.95])
#fig.tight_layout()
plt.savefig('runtimes.pdf')
plt.close()
