msizes = np.array([3, 4, 5, 6, 7, 8])
l1, = plt.plot([], [], 'or', markersize=msizes[0])
l2, = plt.plot([], [], 'or', markersize=msizes[1])
l3, = plt.plot([], [], 'or', markersize=msizes[2])
l4, = plt.plot([], [], 'or', markersize=msizes[3])
labels = ['M3', 'M4', 'M5', 'M6']
leg = plt.legend([l1, l2, l3, l4], labels, ncol=1, frameon=True, fontsize=
    12, handlelength=2, loc=8, borderpad=1.8, handletextpad=1, title=
    'My Title', scatterpoints=1)
creating a matplotlib scatter legend size related