Это должно работать:
legend(numpoints=1)
BTW, если вы добавите строку
legend.numpoints : 1 # the number of points in the legend line
в ваш файл matplotlibrc, тогда это будет новый по умолчанию.
[См. также точки рассеяния в зависимости от вашего графика.]