This workshop will cover best practices for creating map figures for journals articles and academic texts. The exercises are designed to be run independently using QGIS 3.14. By the end of the workshop students will have gained the skills and information needed to create maps that meet the unique graphics requirements of typical journal publication while still being effective visual communication tools.
In this workshop I'll assume you already have a basic understanding of:
Common spatial data formats (vector and raster)
Desktop GIS software, and QGIS specifically. Please see our Intro to QGIS workshop page first if you are new to GIS software or need a refresher.
Download and install QGIS - a free and open source desktop GIS for Mac, Windows, and Linux.
Download the exercise data collection and extract it to your Desktop.
Maps, graphs and other figures are the unsung heroes of academic publication. The content may be in the text, but maps and other illustrations are often where our eyes stop as we flip and scan through articles. They represent opportunities for quick bursts of densely packed visual communication.
Academic publication presents a few unique challenges to creating effective maps and learning to work around those constraints requires a different approach than we might use for larger maps.
The most common design issues for journal publication are:
small map sizes
limited color (or grayscale only)
low resolution
data citation and licensing
The first step in making any map is understanding the message you are trying to convey, along with identifying who you are talking to. Your map should be designed to address the specific topic and the audience who will see it. Here are a couple of real world examples:
The map on the left was done for full color book publication, accompanying the memoirs of Secretary John Kerry and depicts his travels by "swift boat" during the Vietnam war. The use of color and detail here draw attention to the boats path, but keeps enough context for readers likely unfamiliar with the regions geography.
The map on the right was a journal figure on the loss of habitat and range of China's Giant Pandas. Print limitations meant no color and a small design space. But readers were assumed to be familiar with the subject so the choice was made to leave background details off and focus instead on the the core provinces and panda habitat.
You will need geospatial data to build your map with. You may already have some data on hand from any related GIS work you've done. But be wary of using analysis data for map figures. Raw GIS data is often too dense or detailed for small figures. What looks ok on a desktop will quickly become an illegible mess when printed at 3" wide on medium weight paper.
Be conscious of matching your data scale to your map scale, which simply means don't use overly detailed or overly simplified data for the map size being produced. Visit Natural Earth Data for a selection of general purpose GIS data at three different scales.
We still haven't made a map yet, but I promise we're getting there! There's one more set of details we need before we start actually creating a map, the journals art specifications. Every journal (book, and magazine) will have a set of specs that guide submission for images and illustrations. Because we're generally talking about print publication, the restrictions can be quite limiting in terms of what can actually be submitted. If you fail to meet the art guidelines for a given publisher you risk not having your maps included with your writing, or possibly worse, having the publisher modify your maps for you!
Let's look at one real-world example: Nature's Journals
I look for the following pieces of information:
Maximum figure size: 89 mm (spans 1 column) or 183 mm (spans 2 columns) wide and maximum 247 mm high. This means our figures should be one of the two width dimensions and not a variation. We can have whatever height we need up to the maximum.
Aspect ratio restrictions: none listed. That's fine because we have very specific dimensions.
Color guidance or restrictions: Nature's Journal uses four-color reproduction (they use cyan, magenta, yellow, and black (CMYK) inks for printed material), but they charge for color figures. If they charge for color, try to make a grayscale map.
Font guidance or restrictions: none listed for maps. Some journals will specify a particular font or that the font must be an open font. I suggest sticking with something fairly common unless you really need a special font.
Format and quality: electronic format, suggesting .jpg files "at good enough quality to be assessed by referees". You'll eventually submit higher quality figures for publication but not for the review process. Some journals specify things like .eps files or .tiff at a certain dpi and may also expect a certain color space (like CMYK, RGB). Maps and other graphic figures are usually ok at 300 dpi given the small print sizes. Larger maps, full color maps, and maps with a lot of detail may benefit from being saved at 600 dpi. Note that if you can't supply an .eps file, a plain .svg is usually readable by Adobe Illustrator with minimal issues.
Other limitations: Nature does not want figures to have separate panels within the same figure unless they are related to each other. This means we can only have one map per figure unless they are related.
Publishers vary in how much detail they give up front about these specifications and in may cases you will need to piece together specs for maps from different sections of the author instructions. Parts of the figure specs, photography, or graphs may apply. Be persistent, there is no point in starting a map without these details.
After starting up the GIS and adding your initial data layers, the very next thing you should do is go into the print composer/layout view and set your output page dimensions. Refer to your art specifications for the exact sizes required. It's best to set the page size to the max width dimensions and adjust the length dimensions to suit the map layout. You might want to use a standard aspect ratio like 1:1 4:3 or 3:2 to maximize your maps compatibility with other display options. So if your max width is 90mm at 3:2, your max height would be 135mm (or about 3.5"x5.3").
Don't leave this step for the end as you'll end up building a map to the default page size of 8.5"x11" and be forced to shrink this to fit the journal specs later, or rebuild the map entirely.
The goal in map design overall is to create something that is clear, legible, and communicates the intended message (and nothing else!).
Here are a few general concepts to keep in mind when making your map figures.
Visual Hierarchy
Visual hierarchy is the separation of images into background and foreground elements (aka figure and ground). The order of our maps features in the visual hierarchy suggests their relative importance to the maps message. Ground elements are contextual while figure elements represent our data. Anything that stands out from the background will rise in the visual order. More important features should move to the front with less important contextual map elements moving to the back. Similar features should reside near each other in the visual hierarchy while dissimilar features should be separated. Maps with a flat visual hierarchy can be difficult to interpret.
Visual hierarchy can be affected by changing a number of different symbol variables like size, color, and contrast. Anything that helps separate features from their background will help establish them in the visual order.
Academic publications often limit us to black and white printing, but you can still create a deep visual hierarchy with no color by using different shades of gray to establish order. Adjusting the amount of black in your map symbols will allow you to create a strong and varied hierarchy even when restricted to black and white printing. Anything between 10% and 90% will read as 'ground'. The greater the percent black difference the greater the visual contrast. Save full black for your data or 'figure'. Full white usually reads as empty or 'no data'.
Fonts
Font should be kept simple. Follow the art specifications but in the absence of specific recommendations, stick with well know common fonts. Avoid decorative fonts or using more than one or two fonts in a single map figure.
Use changes in the style of a single font family (bold SIZE s p a c i n g italics color) to create a variety of font styles that link them to specific feature types and reinforce the maps visual hierarchy.
Color
In most cases you'll be restricted to grayscale printing due to cost or other print limitations. When color is an option, you're best served by continuing to use grayscale for the background map elements and only adding color for your data. With a subdued map base, small amounts of saturated color will stand out clearly and create a dramatic effect in the visual hierarchy. Stick with natural colors over harsh bright colors and be mindful of natural mapping between colors and features (like reserving blue for water or cold).
When including data that has sequential values (such as a raster for sea surface temperatures, cold to warm), avoid the temptation to use the 'rainbow' color ramp. Although commonly used in scientific visualizations, there is a solid body of research that suggests the rainbow color scheme can actually lead to misinterpretation of the information being visualized. You can read more about the pitfalls and solutions to rainbow color ramps here, here, and here!
Instead map sequential values as a single color going from light to dark. Or if the data is divergent (breaking away from a central value) you can use a 2 color divergent scheme.
Projections
All maps are distorted to some degree. Your choice of coordinate system will affect the kind of distortion (shape, area, distance, direction) as well as the overall look of the map figure. Coordinate systems can be a complex topic but there are a few rules to keep in mind with journal map figures:
Never use a geographic coordinate system, always project your map data.
Avoid Mercator projections. They are severely distorted in area and shape in mid to upper latitudes. Knowledgeable readers may perceive its use as an indication that you are not familiar with best practice in geospatial analysis.
Maps that depict densities (e.g. people per square mile) should always use an equal area projection so areas of different regions are comparable.
Conformal projections which preserve the shape of map features are more familiar to most readers and therefore best used for general purpose maps or study area maps.
Basemaps
QGIS and ArcGIS both have a number of built in 'basemap' services that allow you to quickly add a background map to your data. While these services speed up map creation and save you from having to build your own basemap, they are usually a poor choice for journal map figures. Basemap services are typically full color and fairly detailed. Their color and complexity will compete for attention with your data and flatten your maps visual hierarchy, making it harder for readers to zero in on your data and message.
You can learn more about making your own basemaps in QGIS here.
Layout covers both the various 'marginalia' elements that are added to a map in the composer, as well as their arrangement on the page.
Titles
Map figures rarely have proper titles. Instead you'll use the Figure Caption to title and briefly describe the map. See the captions section below for more detail.
North arrows and scale bars
Maps of recognizable regions don't usually require north arrows or scale bars. North is assumed to be facing the top of page, so do include a directional indicator anytime you rotate a map.
Legends
Legends are only really needed when the symbols and features shown on your map are not recognizable on their own. A legend would not be needed for river lines or a study area box for instance. Whenever possible, rely on direct labeling instead of legends. For instance if you have a single point for a given data feature, don't add that symbol to a legend, label the feature directly in the map.
Figure captions (replace)
One special thing about figures in journal articles is that they get captions! Captions are text that explains why you put this image in the article and what the reader needs to know about it. Caption text can sometimes take the place of a map legend. For example: Figure 1: Study site locations. Black squares indicate sites treated with experimental weed killer and open circles indicate control sites.
Depending on the journal, the figure caption should contain the citation in the journal's preferred style for the data you used and the cartographer's name.
Be prepared to cite the data you used and the cartographer's name in the figure caption, as well as give any contextual information that the reader will need to know to interpret the map. (Myles, C., M.M. Tobias, & I. McKinnon. 2021. “‘A big fish in a small pond’: How Arizona wine country was made” in Agritourism, Wine Tourism, Craft Beer Tourism: Local Responses to peripherality through tourism niches. M. Giulia Pezzi, A. Faggian, N. Reid, eds. Routledge.)
Alignment and frames
Each of the various elements that can be added to a map in the layout or print composer can usually be placed anywhere on the page. Be careful to place these features where they won't obscure the main map or your data. Pay special attention to how each feature is spaced with relation to the map frame, page edge, or other features and try to use uniform spacing where possible to keep your map looking neat.
Avoid adding extra frames to these elements. Each new frame creates an obstacle to visual flow and can create distracting empty lines between elements (see the phenomena of 1+1=3)
Refer to the publishers art specifications for export guidance and follow their recommendations. Most publishers will ask for a raster export (a .jpg. .tif. or .png). You may occasionally be asked for a vector based export like .ai or .eps. If you don't have access to Adobe Illustrator to create vector exports, you can substitute an .svg or .pdf file as both can be opened and edited in Illustrator.
If given the choice between vector and raster formats know that your vector map layout can be edited by the publisher but the raster format can not (not easily anyway). If you're a control freak like me this matters!
Follow the steps below to create a sample map for journal publication, using the lessons from above.
On May 3rd, 2018, a new eruption began along the East Rift zone of Kīlauea volcano. The eruption forced the evacuation of 2 thousands residents, covered 13.7 square miles of land with fresh lava, and added 875 acres of new land to the island of Hawaii. It has been deemed the most destructive volcanic event in the US since the 1980 eruption of Mount St. Helens.
We'll be creating a map that overlays a portion of the 2018 main flow with several historic eruptions for a fictional journal article to be printed in the journal Nature.
If you haven't already, download the data folder here and extract it to your desktop.
Our project data is organized into the subfolders listed below:
HI_base_data: contains Hawaii state outlines in two different scales and a buffer layer for adding a water effect.
contact_polygons: a series of polygon layers for the lava flow contact surfaces of three historic eruptions in the Kilauea East Rift area (1790, 1840, 1955), as well as the line layer for the main fissures.
KIL_2018_raster: a composite raster of the 2018 East Rift eruption combining the thermal IR band (band 10) from a series of Landsat 8 images captured between 5/16/2018 and 6/17/2018.
KIL_2018_poly: a single vector (polygon) feature representing the 2018 East Rift eruption.
We'll be following the sample art specifications for the journal Nature listed art the beginning of this page.
Open QGIS and start a new project.
Using the Browser window, make a new connection to your data folder on the Desktop. Add this connection to your Favorites to make finding your data easier.
From the browser window add the following layers to your project: coast_UTM5, 1790_contacts, 1840_contacts, 1955_contacts, and Kilauea_fissures.
Save your project.
Referring back to our sample publisher specs from earlier we have these guidelines to follow in setting up our print layout:
183mm max width for a 2 column image (with a max height of 247mm).
output should be a .jpg file.
color is ok, export in a CMYK color profile.
Open a new layout:
Project Menu -> New Print Layout
In the window that pops up, give your new layout a name. I'll call mine "Nature Specs" so later I'll know this layout was for my Nature submission with this data. Click OK.
A new blank layout window should now be open.
Set the page size:
Right click anywhere on the white page in the middle of the window.
Select Page Properties from the menu.
On the panel on the right side of the screen, set the Size drop down to Custom, then set the Width to 183 mm and the Height to 183 mm. Note: there is a units drop down to the right of the Width and Height options.
Click the save button. This saves the whole project, not just the layout.
Now that the print layout is set up, we can close this window and come back to it after we've styled the data.
With the page setup out of the way we can get back to styling the data for publication.
Let's open the Layer Styling Panel. This is a toolbar that can be docked on the side of the window and allows us to make changes to the layer styling with live updates (so we don't have to keep clicking to update).
Click the View menu at the top of the QGIS window
Choose Panels
Check Layer Styling - there should now be a panel on the right side of your screen.
Make sure the box next to Live update is checked. You can uncheck this if you don't want it to update choices automatically, for example, if you're working on a big file and it's slow to update as you work.
FInally, right click on one of the contact layers and Zoom to layer (adjust your scale and extent to match the image below).
A note about using the Layer Styling menu: You get different options for setting the symbols style, or picking colors, based on which button you select in the menu. The standard Fill menu only lets you change the fill color while the Simple Fill menu lets you control everything from fill and stroke colors, to line stroke thickness, to corner styles and a bunch of other symbol soptions.
Likewise, the buttons for picking colors have different menus as well. The small drop down arrow next to the color swatch brings up the basic color picker, while clicking on the color swatch button itself brings up a more advanced color menu with sliders for HSV and RGB values, as well as a transparency slider.
Base layer
Select the coast_UTM5 layer from the table of contents.
In the Layer Styling panel, click on Simple Fill to reveal the advanced styling options for Fill and Stroke color.
Click on the Fill color swatch button to open the HSV/RGB sliders.
Set the H and S sliders to 0, and the V slider to 85% for a light gray fill.
Click the back arrow to return to the previous menu.
Select the Stroke color swatch button and set the H and S sliders to 0, and the V slider to 50% for a medium gray line.
Leave the Stroke width set to 0.26 mm.
Lava flow contacts
If the lava flow contact layers are turned off, turn them back on now. For each contact layer in turn, set the following fill and stroke colors:
1790_contacts:
Fill color: H0 S0 V75%
Stroke color: set to fully transparent or 0% Opacity
1840_contacts:
Fill color: H0 S0 V65%
Stroke color: set to fully transparent or 0% Opacity
1955_contacts:
Fill color: H0 S0 V50%
Stroke color: set to fully transparent or 0% Opacity
Fissures
Because the fissure data are much smaller than the eruption areas, we can get away with full black here to help draw attention to these lines without overwhelming the rest of the map.
Select the Kilauea_fissures layer from the table of contents.
In the Layer Styling panel, click on Simple Line to reveal the advanced styling options for Stroke color and width.
Select the Color swatch button and set the H S and V sliders to 0 for full black.
Set the Stroke width to 1.5 mm.
Stroke style should be Solid Line.
Change the Cap style to flat to help make spacing between fissures more noticable.
Lava flow composite image
The raster layer...
In the Layers panel, turn on the lava_composite_b10 raster layer.
In the Layer Styling panel change the symbology type from Singleband gray to Singleband pseudocolor.
From the color ramp drop down select All color ramps.
Select the yellow-orange-red-red color ramp (YlOrRd)
From the color ramp drop down select Invert Color Ramp.
Because rasters represent continuous data (unlike discrete vector data), our new layer covers up the other layers underneath it. Setting the layer to be partially transparent doesn't work as it would tint everything in the map orange. Luckily we can adjust the Min and Max symbology values to narrow the range of pixels we are symbolizing, making the rest of the raster disappear. We'll use a range of values that just covers the main lava flow, or regions of highest accumulation in the lava flow composite.
Set the Min value to 130000 and the Max value to 205092.
Under the Classify button, check the box for Clip out of range values.
Click Apply to see your changes.
Point Symbols and Labels
Before we move on to laying out or map for exporting, lets add a little context to the location. We can't map as much detail for these small maps as we would for a full size map, but adding a few small location points with names can help orient the viewer.
In the Layers window, turn on the Pop_Places layer.
In the Layer Styling menu in the symbol preview window under Marker, select the dot black symbol.
If you would like to modify the styling of this symbol select the Simple Marker menu and use the new menu to change your symbols shape, color, size, and outline.
In the Layer Styling menu, select the Labels option.
Change the drop down from No Labels to Single Labels.
Set the Value drop down to the name field.
On the Text sub menu, adjust you label size to suit your map. Try 14 points
Change the Style to Bold.
Finally, to make sure your labels are not covering up their points, go to the Placement sub menu, select Cartographic placement and set the offset value to 4 mm.
This should get you most of the way there. You play around the rest of the settings to modify placement as needed, or add halos or masks to the labels to help them stand out against your map background.
Open the Print Composer layout we made earlier with the page dimensions set to our journal specifications. Project Menu > Layouts > Nature Specs (or whatever you named your layout).
The initial Print Composer view looks like an empty sheet of paper to which we can embed our map and other map elements like legends, scale bars, and Titles. Properties for items added to the map will be displayed in the Items Properties menu to the right of the page layout. The Items menu is contextual and will change to match whatever item you have selected with the Select/Move tool in the layout.
Select the Add new map tool from the layout tool sidebar.
Click in the empty print layout page to drag a box for your map (or simply click in the layout and enter a specific map layout dimension).
You can refine the maps placement with the Select/Move Item tool, or go to the Position and Size options in the Items Properties menu. Use either method to snap the embedded map to the page edges.
Use the Move Item Content tool to interactively pan and zoom the data around inside the map area. You can play around with this until you get a fit that looks good. Or you can set a specific scale in the Item Properties menu. Just find the Main Properties item and in the Scale dialogue enter your desired map scale. I've set mine to 70000 (or 1:70,000).
Make adjustments until you're happy with how the map looks. Ideally we'll have the relevant map data centered filling our map layout.
Setting a map reference scale
Occasionally due to the interactions between map layer symbology and the layout page size and map scale, symbols and labels that appear correct in the main GIS view will look way too small or large in the print composer. The solution is to set a Fixed Reference Scale on the individual map layers.
Go back to the main map view in QGIS and open the Properties for Pop_Places. Under the Rendering property menu check the box for Fixed Reference Scale and then use the drop down at the right to select the scale from your Print Composer window. Go back to the Print Composer view and hit the Update Map Preview button to refresh the view.
Add floating text
Any labels that can't be created directly from your map features, can be manually placed in the layout view. Select the Add Label tool from the print composer toolbar. Place the crosshair above the main lava region and then click to drag a small text box. A new "lorem ipsum" entry will appear in the Items list. Under the Main Properties dialogue replace the default text with East Rift Zone.
In the Appearance property menu click on the Font dropdown to change the font from regular style and size to Bold 16 points.
Use the Select/Move tool to adjust the text ppacement.
Add a legend
Select the Add Legend tool from the print composer toolbar. Click to drag a small box in the upper rigt hand corner of your layout. The new legend box will initially show all layers in the main map, even if they are not currently set to be visible. We can remove these from the Item Properties menu under Legend Items. Go to Legend Items and uncheck Auto Update. Then select any layers that are not the lava composite raster or the the three contact polygons. Use the red minus symbol below the Legend Items list to remove those entries from the legend.
If you double click a layer name in the Legend Items box you can update the layer alias. Change "lava composite b10" to "New Flow". Change "1955_contacts" to "1955 Contacts" (repeat for the remaining contacts layers).
Scroll down to the Symbol property. Uncheck the box next to Draw stroke for raster symbols.
If your legend has a frame you can remove it by unchecking the Frame property. Or if you want to keep the frame but modify the symbology, toggle the Frame property open and make your changes.
It's important that items like the legend be evenly spaced off the map margins whenever possible. using the Select/Move tool select the legend and drag it into the far right corner until it snaps up against the layout edge. Now using the arrow keys on your keyboard move the legend down and to the left an even number of steps, try 5 down and 5 left.
Add a scale bar
Select the Add Scale Bar tool from the print composer toolbar. Click and drag a small box in the lower right corner of your layout.
In the Item Properties menu under Main Properties set Style to Line Ticks Up.
Under the Units property you can set the scale bar to Feet, Meters, Miles, Kilometers etc. Leave yours set to Kilometers.
Under Segments you can adjust the number of ticks or the unit intervals as needed. Leave your set to Fixed width 1 unit with 2 right segments.
Add a locator map with extent indicator
Activate the Map 1 item in your layout view.
Under the Layers item property, check the box for Lock Layers then check the box for Lock styles for layers (this freezes the current layout so changes to the main map will not update in the layout view).
Return to the main map view in QGIS. Right click on the coast_UTM5 layer and select Duplicate. Uncheck all layers besides coast_UTM5 copy. Change the new layer style to full back with no outline.
Go back into the print composer and use the Add Map tool to drag a new map frame in the upper left corner of the layout. Adjust the frame so that it does not cover any map labels.
In the Item Properties menu, find the Background property for the new map frame. Click the color swatch button to open the Select Background Color dialog box. Find the Opacity slider and set it to 50%.
Toggle open the Overviews property. Hit the + to add a new overview and set the Map frame to Map1. Set the frame style to red fill.
Aligning map items
Under the View menu you'll see some options for Show Grid and Snap to Grid as well as Snap to Guides and Smart Guides. You can use these settings to help you move and align items around the map layout. Try it now with the Legend box. If you don't like the default snapping go ahead and turn everything off.
Be sure to pay attention to how different items on the layout are aligned to each other the map edges. In general you want to keep even spacing between items and between the edges of the map frame.
Add an image background or overlay
You can add a custom image as a background filler or to overlay the main map for special effects like a paper texture.
Use the Add Picture tool to drag a box around the map layout. In Item Properties for the new picture layer change the file type to Raster Image and then browse to the lab data files and select grunge_paper.jpg from the images folder.
Under the Rendering menu set the Blending mode to Multiply and pull the opacity back to around 80%.
Export Map
Most publishers require an image export of your final map. A .jpg is the most common file type but you may also be asked for a .tiff or a .png.
In the Print Layout window, select the Export as Image icon.
Select the export folder, give your map export a new name and click Save.
A new window will open where you can set the Image Export Options. Refer to your publishers specifications for things like DPI and color space. In our case we'll use 300 dpi. The output will be an RGB color file, your publisher can convert this to CMYK if needed or you can resave the file yourself in something like Photoshop or GIMP.
Extra: Convert layout to a Small Multiple
A Small Multiple is a data visualization method that places a simplified version of the map into a grid or map series where the base map remains exactly the same and only the overlaying data changes from one frame to the other. It is useful for showing data that changes over time or comparing different layers of data for the same geography.
If you want to be absolutely sure you are using the same background map scale and extent set up a Spatial Bookmark before you start making the separate maps.
From the Print Composer, save your current layout and then click the New Layout icon to start a new map.
Set the new map page dimensions to 4" x 16".
Add a new Map frame and set it to be 3.5" x 3.5" and position it on the left side of the page with a small even margin to the left top and bottom.
In the main QGIS app, turn off all layers except the island background and the 1790 contact polygon layer.
In the Print Composer, hit the Refresh view icon so the print map matches the GIS view.
Once the map looks good, go into the Item Properties and check the boxes for Lock layers and Lock styles for layers.
Now copy and paste the current map frame to make a duplicate map. Align the new map to the right of the first map frame.
Go into the Item Properties and uncheck Lock layers and Lock styles for layers.
Go back into QGIS and add the 1840 contact layer so both 1790 and 1840 now show in the map.
Back in the Print Composer, refresh the 2nd map frame to show your changes then re lock Lock layers and Lock styles for layers.
Repeat this process two more times, adding the 1955 contact to the 3rd map frame, then finally adding the 2018 eruption raster t the 4th map frame.
Use the Align and Distribute tools to line all of the map frames up in the same center and add the same amount of spacing between each frame.
With the full set of map frames selcted, use your arrow keys to nudge them around for better spacing in the page.