import numpy as np, matplotlib.pyplot as plt, seaborn as sns
sns.set(style='whitegrid', color_codes=True)
titanic = sns.load_dataset('titanic')
data = titanic.groupby('deck').size()
pal = sns.color_palette('Greens_d', len(data))
rank = data.argsort().argsort()
sns.barplot(x=data.index, y=data, palette=np.array(pal[::-1])[rank])
plt.show()
Changing color scale in seaborn bar plot