As seaborn functions usually combine many matplotlib elements, it usually creates custom legend handles. Such legends don't work well together with plt.legend(). Therefore, to change the legend's properties, such as title, location, etc., seaborn introduced sns.move_legend(). To change the marker size for the legend of the jointplot, a marker scale different from 1 would be needed.
Changing labels is not recommended, as the order can be tricky. It helps to enforce an order via hue_order=. If necessary, one could change the labels by renaming the elements in the hue column.
sns.jointplot is a figure-level function, creating a JointGrid. You can access the subplot of the main plot via g.ax_joint.
import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd
import numpy as np
data = pd.DataFrame({'X': np.random.normal(0.1, 1, (200, 3)).cumsum(axis=0).ravel(),
'Y': np.random.normal(0.1, 1, (200, 3)).cumsum(axis=0).ravel(),
'Time': np.repeat([0, 20, 80], 200)})
g = sns.jointplot(data=data, x='X', y='Y', hue='Time', hue_order=[0, 20, 80],
palette=['limegreen', 'dodgerblue', 'crimson'])
sns.move_legend(g.ax_joint, title='t / mins', loc='best', markerscale=0.5)
plt.show()
