Labels should have an auto location with an anti-overlap function and can be adjusted by the users.
More on the anti-overlap function,
1. It should detect other labels, lines, and elements from 'lines and curves'.
2. All labels should auto positioned (or even auto-adjusted for font size) to make then all readable.
3. It can be user adjusted and memorized for the current setting.