In [5]:
import numpy 
import pandas
from  matplotlib import pyplot
import seaborn
%matplotlib inline

seaborn.set(style='ticks')

N = 6
Names = ['A', 'B', 'C', 'D']
df = pandas.DataFrame({
    'Year': [2010, 2011, 2012, 2013, 2014, 2015, 2016, 2016],
    'Ranking': [1, 4, 2, 3, 4, 2, 3, 10],
    'Player': ['A','B','C', 'D','B','C', 'D', 'A']
})
df

fg = seaborn.FacetGrid(data=df, hue='Player', hue_order= Names, aspect=1.61, size=3)
fg.map(pyplot.scatter, 'Year','Ranking').add_legend()
fg.fig.axes[0].invert_yaxis()


/usr/local/lib/python3.5/dist-packages/seaborn/axisgrid.py:230: UserWarning: The `size` paramter has been renamed to `height`; please update your code.
  warnings.warn(msg, UserWarning)

In [6]:
df


Out[6]:
Player Ranking Year
0 A 1 2010
1 B 4 2011
2 C 2 2012
3 D 3 2013
4 B 4 2014
5 C 2 2015
6 D 3 2016
7 A 10 2016