Often I need two (or more) map frames in map layout to present different data next to each other. It is easy to make multiple map frames in QGIS Print Composer. BUT...

It is in the nature of my work that very often I need to update some map frames because data I am presenting in map changed or I need to add/remove layer, change scale, projection etc.

So if I create one map frame, lock it (Lock layers for map item), create second map frame with different layers, scale,projection etc. and than realize I need to change something in first frame, I can't find a simple way to do it...

To simply do that in Mapinfo, there are more Map Windows, in ArcGIS there are multiple Data Frames. What is in QGIS to achieve that?

  • 1
    while beeing in QGis print composer you could save your map frame as template (first button in the toolbar) and reopen it again with the second. This way you can manage a lot of different layouts.
    – Curlew
    Commented Jan 4, 2013 at 10:34

3 Answers 3


Use groups of layers to simplify your editing and then don't lock the frame by right-clicking on it but instead use the 'Lock layers for map item' check box in the Map tab.

I group my layers according to the map frame I want them in. Then, I can quickly turn on and off a set of layers as I set up the map frame the first time and then click the 'Lock layers for map item' box. When I want to change one map frame and not the other one, I can just work within one group. You may want to duplicate a layer in each group if required or if you want different symbology for the same layer in different frames.

When you click 'Refresh' from the View menu only the selected currently map-frame is updated unless you have any additional map frames which are both unlocked (no padlock icon by right-clicking the frame itself) and do not have the 'lock layers' check box selected.

Working with layer groups and item locking in this way is pretty analogous to the ArcMap setup except if you want to change the projection of on map frame and not the other.

  • 2
    That's quite a good way to handle this task. I have also considered adding some kind of data frame thing like Arc* has.
    – Nathan W
    Commented Jan 4, 2013 at 10:51
  • 1
    This is an excellent solution which I am currently implementing on my project. Well done, @Sylvester Sneekly Commented Jan 4, 2013 at 11:30
  • Thank you. Well that was my first idea - grouping. But I thought there must be something better - though as I now think about it again, except of projection and turning groups on/off there is really nothing more. Not perfect but working till there will be more maps possible in one project :-) Thanks again.
    – Miro
    Commented Jan 6, 2013 at 13:24
  • 1
    @Nathan Any chance to make frames with different projections?
    – Miro
    Commented Jul 9, 2014 at 7:23
  • 2
    @nathan-w Did you ever look into adding the Arc multi data frame ability to QGIS? It'd be very useful in helping to wean people off Arc here at the company I work for. Most people complain about having to lock layers, switch layers off, unlock again etc. Commented Aug 4, 2016 at 8:10

You should be able to handle most of what you are doing by using the scale dependencies for a layer.

so, map 1 is at 1:5,000 and map 2 is at 1:50,000 you can then change the sybology in whatever order or have them all visible and one map would not influence the other. Essentially using the grouping technique but based on scale rather than map frame.

  • 2
    Thanks, that is also possible option. Though in my case I need both in different projections which is at this moment not possible with QGIS - my solution at this moment is prepare inset, export to image, and paste it back to composer as image. Also I asked on QGIS hub to add option for selecting projection hub.qgis.org/issues/11193
    – Miro
    Commented Oct 7, 2014 at 9:11

You can also use map themes / visibility presets and in the print designer choose the according print layout designer preset:

Themes Select in layout

See also here: https://qfield.org/docs/prepare/map-themes.html

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.