5

I created a legend in the print composer and the default layer orientation is

enter image description here

How can i change the legend elements orientation like in ArcGIS?

enter image description here

I seeked in the Item properties but didn't found any hint.

  • 3
    As a work around you could have two legends, one with the text and one with the boxes side by side in the order you wanted them. For example the legend in: c3.staticflickr.com/4/3849/15311770866_0c01b26cc6_k.jpg was done by stacking two legends on top of each other. – HeikkiVesanto Nov 30 '16 at 14:30
  • 2
    @Vesanto - Not enough blues... – Joseph Nov 30 '16 at 14:32
  • 2
    @Joseph almost none, perhaps next time. – HeikkiVesanto Nov 30 '16 at 15:50
10

I don't think this is currently possible as there is already an existing ticket which was updated a year ago:

http://hub.qgis.org/issues/3239

3

I think Joseph is right, there doesn't seem to be a way. Found a couple of workarounds. Vesanto's suggestion of using a separate text box for your labels, and removing the labels from the legend, is also worth looking at if you want to stay in QGIS.

Edit in inkscape

If you're familiar with InkScape, you could

  • hide all layers except the legend
  • export to SVG,
  • open it up in InkScape,
  • edit it there using the group/ungroup and align tools,
  • save it and bring it back in as an image (either as SVG or bitmap)

Here's an example:-

enter image description here

You might find you need to experiment a bit to get good results, especially with SVG. And if using Inkscape, remember to add in a background as the default is transparent.

"Creative" suggestion

Just for fun I found a workaround. It's not practical and the results don't look too professional ;-)

enter image description here

  • use one of the many 'flip and mirror text' sites. These convert text to upside down equivalents (really, unicode characters will look similar to upside-down and/or back-to-front characters). For example this site

  • edit each legend item, copying and pasting the rotated text in. Make sure you choose flip AND mirror.

  • set legend rotation to 180 degrees

This will only work with basic Latin characters (e.g. English A-Z and 0-9). It will not work on all fonts; you'll need to use one of your system fonts which has good unicode support. Also, your legend will appear at the bottom...

There are plenty of upside-down fonts on the web, but not seen any which are also mirrored. If you can find one this might almost work..

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.