In QGIS 2.14.5 LTR (and recently in QGIS 3.0) I've set up a beautiful map design with a graduated renderer and vector field markers for each value range (arrow length is directly proportional to stream velocity, which ranges from 0.001 -~5m/s).

This worked great, but I wonder if I missed a setting to shorten the arrows in the legend. With a 'normal' width layer window, the class values cannot be seen:

Units: millimeter

enter image description here

My first guess was, that it has sth. to do with switching arrow length, line width units from millimeter to map units, but this doesn't affect the legend:

Units: map units

enter image description here


Issue still persists in QGIS 3.0.

I created a screencast to visualize this: https://youtu.be/oxJ3tGXFB18

enter image description here

In properties / symbology the symbols render correctly:

enter image description here

Note that the layer list displays the markers correctly, when duplicating the layer or applying changes to the style as long as layers panel width does not change.

  • 3
    Can reproduce it (QGIS 2.14.5. Linux Mint 18). Maybe some Layers panel bug. However, it doesn't affect Legend item in Composer manager
    – Oto Kaláb
    Aug 23, 2016 at 10:34
  • 1
    I can confirm that there is an issue when using map units. Ran into it myself. Haven't checked yet if it has been reported.
    – underdark
    Sep 3, 2016 at 12:22
  • 1
    Maybe you should make a bug report. issues.qgis.org/projects/qgis/issues
    – csk
    Apr 4, 2018 at 18:26
  • 1
    I made a bug report for this issue. Most of the text of the bug report is directly quoted from this post. Please review the bug report and edit it if I made any mistakes or left out anything important.
    – csk
    Jul 6, 2018 at 20:10
  • 1
    It seems there is some interest among the QGIS community in fixing this bug. There's a request to add "a small dataset + QGIS3 project file with the styles used" to the bug report to aid in testing. @JochenSchwarze Is it possible for you to provide that information?
    – csk
    Jul 8, 2018 at 19:30

1 Answer 1


There isn't exist that option, but... you can use intern tools to achieve that results. I made it with dots but you can apply this tools to your thing. Follow this:

  1. First set manually the size of the symbol.

  2. Go to the properties of each element and define a function that "do your thing" (in your project, it changes the line size with stream speed). This function will change the size of the element while the legend element freezes.

enter image description here

enter image description here

  1. There you go. Legends would stay still while your elements change their size following your function.

enter image description here

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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