I have managed to do manual placement of labels in QGIS 2.18 so that they are all showing without overlapping. However, when I create the map in print composer the labels do not stay in their same positions as the main screen and end up potentially overlapping again in places. The only way I can seem to resolve this is by going back to the main screen and moving them there before trying print composer again and this something requires toggling back and forth until it is correct. Surely they must be an easier way? What am I missing?
That's probably due to a scale difference between your main screen and your print composer.(as the anchor of the label is just a point at the start of label text, if the label stay the same size at all zoom level and the scale of the background change the label seem to move)
To prevent that you could try to:
- set the label size to map unit (just under the box where you set the label text size there is a box wich let you choose between point and map unit), after that you will need to choose a label size (don't be afraid by big number) that look as you want in the print composer (to know how it will look in print composer set the main screen at the same scale as your print composer)
- Set the scale of the main screen at the same scale of the print composer and lock the scale by clicking on the small lock next to the scale box (bottom of screen), if you need to zoom use the Magnifier box just next.
any of the two option should ensure that the position of your label are identical in main screen and in print composer but you probably will need to (again...) manually place the overlaping label...