2

I am labeling a lot of features and the Easy Custom Labeling tool is helping me to move every label to the desired position. I also like that the tool adds arrows for labels that I moved but sometimes I am just moving them some few pixels and do not want an arrow to be created.

I am now wondering how I can get rid of a selection of arrows. For now, I can only think of creating two layers: one for labels without arrows and one for the ones with arrows.

2 Answers 2

1

To exclude some of the arrows of labels that have been moved with the tool you can manipulate label's layer. I first selected all the labels with arrows that should not have arrows and then used the Field Calculator to add a new column in the attribute table. In this column I put a "1" for the selected labels. For the labels that were not moved or should keep the arrow I left the column empty.

After that it is just a matter of styling the layer:

Go to Properties -> Styles and choose "Categorized Styles" to define different stylings according to the value in the new column. For the arrows you want to disappear choose "No pen" as Pen Style in the Symbol Selector.

enter image description here

Below you can see an example. The labels for the United Kingdom and Ireland were moved and their value in the new "Arrow"-column was set to one. (Basemap data credit: Natural Earth)

Arrows

2
  • 1
    It is somehow obvious and I feel a little bit embarrased, but when posting the question I was not aware that the label arrows/lines are styled through the usual QGIS styling settings. I thought they are some independent output from the tool.
    – Gideon
    Jul 1, 2015 at 13:34
  • 1
    Nah don't worry about it! It's quite common to have problems where the answer is so obvious that the person overthinks it (happens to me quite often apparently!)
    – Joseph
    Jul 1, 2015 at 13:39
1

Not sure I completely understand but I noticed there's a couple of attributes in the custom label layer called LblShow and LblAShow, both of which use Boolean values (0 for false; 1 for true):

  • The LblShow is the actual label so we can leave that with an attribute of 1.

  • The LblAShow is the arrow (although in my view, it's practically tiny). If we update this field from 1 to 0 then it should hide the arrow:

Hide arrow attribute

2
  • 1
    Thanks for your reply. I also checked these attributes but according to the plugin's code the "LblAShow" attribute stands for "LabelAlwaysShow" in case of overlapping labels. Nevertheless going back to the atribute table opened my eyes for an easy solution.
    – Gideon
    Jul 1, 2015 at 13:15
  • 1
    @Gideon - Ahh, well done for picking that up! Please post your solution as I am looking forward to seeing how you did it =)
    – Joseph
    Jul 1, 2015 at 13:18

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.