I am having an issue with legend formatting in QGIS 3.16 print composer. I have 3 columns in the legend, and a limited amount of vertical space in the layout in which to fit the legend. All of the layers/symbols that need to be in the legend will fit, as long as they are split among the columns evenly. However, the default placement isn't evenly splitting them. It's putting one layer at the bottom of column 2 (which then means it's cut off at the bottom), when I would like it to be at the top of column 3. It won't work to move this layer all the way to the end, because then it makes it look like it's a subheading of the layer at the top of column 3. The picture below illustrates the situation. Basically the question is, is there any way to force QGIS to display "Water Pumping Station" above "Memphis Sand WHPA Zones" in column 3, rather than all the way at the bottom of column 2 where there's not room for it?

I saw this similar question from 2016 about a related issue but the advice listed to increase the column count did not entirely work. When I increased the number of columns to 4, it did move the layer from the bottom of column 2 to the top of column 3, but then it pushed the last symbol in column 3 to a 4th column.

screenshot of QGIS legend with items unevenly distributed across columns

1 Answer 1


In QGIS Layouts - select the legend:

Switch Off 'Auto-update' Then ungroup your legends elements

Then you can select and move them independently to where you want them to be.

The only downside - if your update you map data - you may need to re-do this process.

enter image description here

ungroup (edit selected item properties) image shows the modification.

enter image description here

  • Auto-update is already off. How exactly would I ungroup the elements? Right now the only thing grouped is the layers in column 3. Nothing else is currently grouped.
    – medubose
    Nov 21, 2022 at 22:12
  • @medubose added image.
    – Mapperz
    Nov 21, 2022 at 23:52

Your Answer

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

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