MapInfo Prefessional Tutorial - GIS Software Tutorial -
MapInfo Prefessional Tutorial Part-2

Creating Graphs

MapInfo can also be used to create graphs of the variables in the tables. We will create a graph to show the number of people in each ethnic group in each ward of Bradford in 1991, as an example.
Data in tables which are not mappable may be used to create graphs.
  • Window > New Graph Window or choose the New Grapher button on the toolbar.
  • Creating a graph is done using a two stage wizard.
  The Create Graph wizard may also be accessed by choosing the Create Graph option from stage 3, Analyse, of the Mapping Wizard Tool.

Graph Step One

Step One: Choose the type of graph you require from the menu on the left. Choose an appropriate subtype from the preview window on the right. For our example, we will choose a column graph using the Clustered template. Click next.

Graph Step Two

  • Step Two: Choose the table in which the variable you wish to create a graph of is stored from the drop down menu at the top.
  • Select the field(s) from the table you wish to make a graph of. Click the Add>> button to add these fields to the graph. For this example, select all the fields except the total population.
  • If you wish to add variables from more than one table, choose the next table from the drop down menu at the top and add fields from it in the same way.
  • Choose the field with which you want to label the x-axis of your graph. Choose whether the series is in rows or columns. In our case, the series is in columns. Click OK.
  • The axis across the bottom of the graph is the x-axis, which is used to show the independent variable, i.e. the variable against which the dependent variable, which is on the y-axis (up the side of the graph) is measured. In our example the x-axis would show the ward, and the y-axis a count of people in each ethnic group.


  • Graphs often require a lot of modification. Graphs should have appropriate descriptive titles, and the axes should be appropriately labelled. The graph should be sized such that all the columns are clearly visible. This can be achieved using the options from the Graph menu, which appears when you create a new graph window. Make sure the graph you wish to modify is the active window, and choose from the appropriate options below. The most important thing about your graph is that it is clear.
Stacked Column Graph
  • Graph > Formatting... Allows you to change the colour scheme of your graph. It is advisable to make all other changes to your graph before changing the colour scheme, in order to ensure its clarity.
  • Graph > General Options This is an important menu item for improving the clarity of the graph. The General tab allows you to alter the distance between graph items, and their depth (if any). The tabs have preview windows so that you can see how your changes will affect the final graph. The Look tab allows you to change the position of labels in relation to other items. The Display Status tab allows you to hide the legend, but don't!
  • Graph > Series Options Select the series which you wish to modify by clicking on it before selecting this menu item. This item allows you to add data labels or trendlines. Data labels are only appropriate for graphs with few items, otherwise the graph becomes too cluttered, and trendlines are only appropriate for certain types of graph such as scattergraphs.
  • Graph > Grids and Scales Allows you to alter the gridlines that are visible and the positions of the axes in relation to the graph. The Category Axis is MapInfo's term for what is commonly known as the x-axis.
  • Graph > Titles Give your graph an appropriate title, such as "A stacked column graph to show the population of Bradford by ethnic group, at ward level, for the 1991 census." Make sure you label the y-axis. Make sure the boxes for items which you do not want to label are blank. Click Apply, then OK.
  • Do not forget to source your data. This may be a legal requirement, depending on where you got your data. If it is a legal requirement to inclide the data source, the source will say so explicitly, but it is good practice to include the data source anyway. You could use the footnote option from the Titles menu item for this.
  • Graph > 3D Viewing Angle If you have chosen a three dimensional type of graph, this option allows you to change the angle from which it is viewed.
  • Graph > Save As Template Allows you to save your graph setting as a template for future use.
  • The options from the graph menu are also available by right clicking on the appropriate graph.
  • The graph and legend may be resized and moved using the mouse. The legend may be formatted by selecting items within it, right clicking, and choosing formatting, for example, to change the colour of a series.


Creating Layouts

  Layouts may also be created in stage 4, Publish, of the Mapping Wizard Tool.

Layouts of maps, graphs, legends etc may be produced in MapInfo.

Create Layout
  • Make sure all the windows you wish to include in your layout are open. Restore the windows and drag the edges so that the least possible amount of white space is showing around the features of interest.
  • Select Window > New Layout Window, or alternatively choose the New Layout button on the toolbar. The New Layout dialog box appears.
  • If you wish to make a layout containing just one frame, choose the frame from the drop down menu now, and click OK. Creating a layout for one frame is better than printing it directly as you can resize and reorientate it in relation to A4 paper, as well as adding text boxes such as titles.
  • If you are including a map in a layout, MapInfo automatically includes its legend.
  • If you already have a number of items which you wish to include in your layout, it is better if no windows other than these are open. Choose Frames for All Currently Open Windows, and click OK. A layout window is produced with all the required frames which may be moved, aligned, and resized.
  • If you wish to produce a blank layout, which you may use for text, choose No Frames, and click OK. However, it is probably better to use a word processing package.


Once you have created your layout there are a number of things you can do to improve the presentation. It may look a bit of a mess at this stage, especially if you created a layout for many open windows.

  • Moving and resizing frames: Click anywhere in the frame to select it. Frames may be moved by dragging with the mouse, and resized using the handles at the corners. Click outisde the frame to deselect it.
  • Aligning frames: Aligning frames is an important part of presentation. Frames may be aligned horizontally or vertically. Select the frames you wish to align, holding down the shift key to select multiple frames. Right click in the layout, and choose Align Objects. A dialog box appears. It is advisable not to try to change the horizontal and vertical alignment at the same time. Choose which you want to change, and select which edges you wish to align from the drop down menu, for example, for vertical alignment you may wish to align either the top or bottom edges, and if the frames are the same size both will be aligned anyway. Leave the With Respect To menu option as Each Other, and click OK. If you wish to move the aligned frames, select them all, and they can be dragged as a block.
  • Adding text: Select the text tool on the drawing toolbar, which by default is floating. The text tool is the A. Click on the layout where you want the text, and type. Select the pointer tool on the main toolbar, which is also floatng by default. Double click on the text to get the text object dialog box. From here the text, spacing and alignment may be altered. The font may be altered using the Style (Aa) button. Click OK when you are happy. The pointer tool may also be used to drag the text. Text objects may be aligned with other objects in the layout using the method discussed above. Some items of text which you may need to add are discussed in the Standard Practices section below.
  • The zoom in and zoom out tools on the main toolbar, the magnifying glasses with plus and minus signs, are always useful when working with layouts.
  • If you find you need more pages for your layout, choose Layout > Options, where you can alter the layout size in terms of number of pages, then click OK.
  • You can also use Layout > Options to produce a Layout Template which may be used to make multiple layouts with the same structure. This is useful for uniformity in major pieces of work.
  • The layout may appear to be blank or made up of boxes of plain colours when the layout is not the active window. Don't worry, you have not lost your work! If you wish to be able to view the contents of a layout window when it is not the active window, go to the Layout menu and choose Layout > Options, and set Show Frame Contents to Always. Click OK.
  • Most of the commands from the Layout menu may also be accessed by right clicking anywhere in the layout window.

Standard practices

We have already touched on some issues of standard practice throughout the tutorial, such as always having a legend for each map. However, there are a number of other issues relating to standard practice which are important.

  • North Arrow: Including a north arrow on maps is standard practice. Go to Tools > Tool Manager. Scroll down the list to North Arrow, and tick the two checkboxes beside it. If the checkboxes next to ScaleBar are not checked, check those too. Click OK. The floating toolbar Tools appears.
  • Choose the icon for North Arrow. Click on a map in a map window or layout where you want your north arrow to be. A dialog box appears. There are 19 styles of north arrow to choose from, which are previewed in the box on the left.
  • You can change the colour of the north arrow. The default is red. It is advisable to change the foreground brush colour to black, but to leave the foreground pen, background brush and background pen as they are.
  • The north arrow may be resized using the box at the bottom right. The default is 15% of the window size.
  • Important: Leave the Rotate north arrow to match projection radio button pressed.
  • You can also show the Magenetic Declination by selecting the button. This is unnecessary for maps of small areas such as one district, but would be important for maps of larger areas, for example, the whole of the British Isles.
  • Choose OK when you are satisfied with the settings for the north arrow. The north arrow appears where you initially clicked.
  • Scale: If you have not already done so, go to Tools > Tool Manager and enable the ScaleBar tool by checking the boxes beside it and clicking OK.
  • Select the ScaleBar tool on the floating Tools toolbar. Click where you would like your scale bar on a map in a window or layout. A dialog box appears.
  • Choose the width of your scale bar, preferably a round figure. Choose the units of distance which you would like your scale bar to represent, for example, kilometres. Leave the colour settings as they are. If you wish to change the font of the scale labels, select the font (Aa) button on the right, make your changes, and click OK.
  • Choose OK when you are satisfied with the settings for the scale bar. The scale bar appears where you initially clicked.
  • If you wish to change the units of your scale go to Map > Options. However, you will have to create a new scalebar with the new units as any existing scalebar will not automatically change.
  • North arrows and scale bars are not easily editied, moved or removed in MapInfo. Make sure, therefore, that you have selected the right location and settings before clicking OK.
  • Scales may be represented in three ways: verbally, such as "one metre equals fifty kilometres", graphically, using a scale bar, and by what is known as a representative fraction, such as 1:50,000. In cartography, it is good practice to include all three representations of scale on a map. However, this is not usually possible for the thematic maps created in software packages such as MapInfo. It is therefore all the more important to include the graphical representation of scale on your maps since the verbal representation and representative fraction are missing.
  • Data Sourcing: Including the source of the data is standard practice in mapping, and in some cases is a legal requirement. Online data sources will tell you how to cite their data, and it is important that you do this. For example, for 2001 census data obtained from Casweb you must include the following citation, as stated in Section Two, Part One.
  • Map Projection: Including the map projection is also standard practice. The map projection can be found by going to Table > Maintenance > Table Structure and choosing the projection button. For the types of data we have used in this tutorial, the projection will normally be British National Grid.
  • Including these things is necessary in order to make your map look professional.


Exporting MapInfo Tables

Layouts may also be created in stage 4, Publish, of the Mapping Wizard Tool.
  • File > Save Table: This command will only be available if changes have been made to the table since it was last saved.
  • Table > Export: Tables may be exported in MapInfo Interchange Format (.mif), as delimited text files (.txt), database files (.dbf) or .dxf files.

    Exporting maps, legends and graphs

    Windows containing maps, graphs and legends may also be exported using the Save Window to File option from stage 4, Publish, of the Mapping Wizard Tool.
    • Maps, legends and graphs must be exported one window at a time. Make sure the window you wish to export is the active window, and size the window to minimise the white space. Choose File > Save Window As.
    • A dialog box appears allowing you to choose from a variety of image formats to save your file. Bitmap (.bmp) is selected by default, but it is not advisable to choose this due to the large file sizes created. .jpg or Windows Metafiles, .wmf, are probably the most advisable.
    • When exporting a map, do not forget to export its legend. You will have to do this separately. Since the map and its legend are saved as separate files, be sure to give them filenames which show clearly which legend belongs to which map!

    Exporting to ArcGIS

    • Tools > ArcLink > ARCINFO->MapInfo
    MapInfo to ArcGIS
    • This is the reverse process to that importing files in ArcInfo interchange format (.e00), as discussed in Section Two, Part Two.
    • Use the left hand text field to choose the MapInfo (.tab) files you wish to export to ArcGIS. Use the right hand text field to navigate to the directory where you wish to save the files. As with importing data, is is advisable to check all the boxes at the right hand side.
    • Click Translate.

    The Universal Translator

    • Tools > Universal Translator > Universal Translator
    Universal Translator
    • The Universal Translator may be used to import and export file types not covered so far, for example ESRI shape files (.shp). The drop down lists in the Universal Translator dialog box show which file types are allowed.
    • Choose the source and destination file formats. Choose the source file, i.e. the one to be translated, and the destination directory which the translated file is to be saved to.
    • It is important to set the correct map projection using the Projection button. For files such as the ones used in this tutorial, i.e. files obtained from UK census websites, the projection will be British National Grid.
    • Click OK when you are happy with the options you have chosen.


Select tools

  • A layer containing entities which you wish to select must be made selectable using Map > Layer Control.
  • Selected objects become highlighted.
  • To select entities within a circular area, use the radius select tool on the main toolbar.
  • To select entities within a rectangular area, use the marquee select tool on the main toolbar.
  • To select entites within an area enclosed by a polygon, use the boundary select tool on the main toolbar.
  • Individual entities in selectable layers may also be selected by clicking on them.
  • To select all entities in a layer, use Query > Select All.
  • To deselect entities in a layer and begin again, use Query > Unselect All.


  • Query > Select brings up the following dialog box:
Query Select
  • Use Select Records from Table to choose the table containing the records you wish to select.
  • Use the box to the right of 'that Satisfy' to enter the criteria by which the records are to be selected. The Assist button provides help with this, construction an expression with drop down menus for columns in the table, mathematical operators, and functions.
  • For Store Results in Table, choose a name which is more self explanatory than the default, Selection, otherwise when you have done many queries all your tables will have similar names (Selection, Selection2, Selection3 etc) and it may become difficult to remember which is which.
  • Sort Results by Column allows you to choose which column, if any, you wish to sort the new table by. However, if there is no particular reason for doing this it is better to leave it as none, because it is then easier to see which records have been omitted from the old table by the query as the records in the new table will be in the same order.
  • It is useful to leave the Browse Results box checked to view the new table after the query.

Structured/Standard Query Language (SQL)

  • Structured Query Language (SQL) is universal between many software packages and applications, and is independent of any hardware of software you may be using.
  • SQL is used for creating subsets of tables. For example, you may wish to calculate variables such as population density (population/area).
  • Using your data in queries is another reason why your tables and files need self explanatory names as otherwise you would quickly lose track of what your query is about!
  • We will create a query to find all the wards in Bradford which were greater than or equal to 90% white in 1991. Open your table of ethnic groups by ward for 1991 now.

Query > SQL Select
SQL dialog
  • The SQL Select dialog box appears.
  • The first stage of our query is to get rid of the Shipping ward from the table. Use the drop down menu to select the table you wish to work with. The name of this table then appears in the 'From table...' text box, the second one down.
  • Click in the top textbox, 'Select Columns.' Use the drop down menu Columns to select the column which stores the zone ID, the column which stores the zone name, the column which stores the total population by ward, and the column which stores the white population by ward. The column headings appear in the textbox. These are the columns which will appear in the new table which meets the conditions of the query.
  • Most queries are performed in stages, each of which eliminates certain records. Be sure to include all the columns in the first stage which you will need for subsequent stages.
  • Click in the third textbox down, 'Where condition:' Either using the Columns and Operators drop down menus, or by typing, create the following expression using the name you gave to the column representing total population: totalpersons > 0.
  • Choose a self explanatory name for the new table you will create, and type this into the 'into table called' textbox. Leave the 'Group by columns' and 'Order by columns' textboxes blank.
  • Click OK. A new table containing only the rows in the original table selected by the query will appear. Should you view the original table in a browser of map window, the selected wards will be highlighted. In the map view, this means all the wards will be highlighted, as the only ward excluded by this stage of the query is the Shipping ward which is not represented on the map.
  • With your new table as the active window, open the SQL dialog box again (Query > SQL Select). Set the table in the 'from tables' textbox to the name of the table you have just created. Select all four of the columns in that table in the top textbox by using the Columns drop down menu.
  • Click in the 'Where condition' textbox. Either using the drop down menus or by typing, enter the query ((white/totalpersons)*100) >= 90, using the column names you gave to those variables in your own table.
  • Give a sensible name to your new table, and leave the 'Group columns by' and 'Order columns by' textboxes blank. Click OK.
  • View the results. Observe the clustering of the highlighted areas on the map now. The highlighted areas are all but the urban areas of Bradford and Keighley.
  • The new tables created from queries can also be used to create maps (Window > New Map Window or Map > Create Thematic Map) or graphs (Window > New Graph Window).

Further Analysis

This section of the tutorial demonstrates features of MapInfo which users may require in future. If you do not have the files discussed in these examples then you do not need to use the feature! However, all of these are useful for future reference when additional data may have been obtained.

Creating points

  • Points may be added to maps which have already been created, for example, if you had a .tab file such as ward boundaries for Bradford, and a point coverage, perhaps imported from ArcGIS, of all the high schools in Bradford with x and y co-ordinates. Open the two relevant files.
  • Go to Table > Create Points. A dialog box appears. From 'Create points from table,' choose the table containing the points from the drop down list. Choose the columns in that table which contain the X and Y co-ordinates for the points you wish to create, and choose an appropriate symbol to represent the points.
  • It is important to set the projection of the co-ordinates for the new points. To find out the projection of the existing map, make sure it is the active window, then go to Table > Maintenance > Table Structure. Click the Projection button. Match the projection of the co-ordinates of the points to this.
  • Click OK when you are happy with your options. Then go to Window > New Map Window (or use the New Mapper button on the toolbar) to view the points overlaid on the boundary map.


  • Geocoding means adding geographical data to tables of data without co-ordinates, such as addresses, so that they can be dsiplayed on a map. This is related to adding columns of data to mappable tables, as discussed in Section Two, Part Three.
  • Geocoding may be done by address, by boundary, or by postcode. Two tables are required - the table of addresses (the geocode table) and the search table, for example, a table showing the National Grid co-ordinate of the centroid of each postcode unit.
  • Go to Table > Geocode. A dialog box appears. Choose the Geocode table and search table from the drop down lists, and choose the appropriate columns where the X and Y co-ordinates of the points are stored. Then choose between automatic and interactive mode.
  • Automatic mode requires no further input on the point of the user, but will not geocode points for which there is not an exact match. Interactive allows the user to choose the nearest alternative when there is not an exact match (e.g. to assign the point to te adjacent postcode unit). Click OK to begin geocoding.
  • The results may be displayed as a map layer.
  • If you cannot see the results of your geocoding operation the layer containing the results is probably not the top layer. Go to Map > Layer Control and change the order of the map layers to rectify this.


  • Redistricting allows spatial units to be combined int larger spatial units based on their common characteristics. For example, enumeration districts may be combined into wards. MapInfo also sums the data for the newly comined units, and provides totals of these data. There are two methods to do this.
  • The first method is non-systematic, with the choice of spatial units to be combined entirely subjective. This uses the same process as discussed in Section Two, Part Three, where a new field is added to the existing table to receive the summed data, the spatial units to be combined (which must be adjacent) are selected, and the column is updated (using Table > Update Column.
  • However, the usual way to perform a redistricting operation is to use Window > New Resdistrict Window (or to use the New Redistricter icon on the toolbar). A dialog box appears.
  • Choose the table you wish to work with from the drop down list. Choose the field containing the spatial units you wish to combine. Choose which of the Available Fields on the left you wish to know the value of for the new spatial unit and transfer these over to the right using the Add >> button. Use the shift key to select all the fields. Use the << Remove button to move fields from the right back over to the left if you do not wish to include them. Do not remove the field representing the spatial unit though, for example, zone ID. Click OK.
  • The results of the Redistrict operation appear on the map and in a new browser window entitled District. In the browser, click on in the symbol field to change the symbol for that record.
  • To make the new districts permanent and save them to the table, go to Redistrict > Assign Selected Objects.
  • If you do not wish to overwrite your original table with your new one, save a copy of your work before beginning, and give the new table another title.


  • Buffers are used to show distances from objects. Firstly, make sure the layer containing the objects you wish to buffer is selectable using the Layer Contol dialog box (Section Three, Part One). Then select the object(s) you wish to buffer using the methods discussed in Section Four, Part One.
  • Go to Options > Buffer. A dialog box appears allowing the user to select the distance they would like to buffer, and whether they would like one buffer around all the selected objects or one around each. Click OK when you are happy.
  • If you cannot see the results of your buffering operation the layer containing the results is probably not the top layer. Go to Map > Layer Control and change the order of the map layers to rectify this.

Drawing and editing

  • You may wish to add your own drawing objects to a map. Firstly make sure the map layer you wish to work with is editable using the Layer Control dialog box (Section Three, Part One).
  • Use the tools on the drawing toolbar (Section One, Part Two) to add objects to the map.
  • To save your changes go to Map > Save Cosmetic Objects. Give the table a new name so that you do not overwrite your previous work.



  • MapInfo has its own programming language, MapBasic. There is no need to use MapBasic for simple commands, as these can be performed using menu options. However, more complex analysis, and particularly repetitive analysis, may require MapBasic. MapBasic does not automatically come with MapInfo, and there is not a free trial version to download, so you need to seriously consider whether you need MapBasic before purchasing it. It is not easily available commercially, although many universities etc will have it. Nevertheless, it is important that users are aware of its existence.
  • MapBasic programs are identifyable by the file extension .mb or .mbx. Examples of MapBasic programs may be found by going to Tools > Run MapBasic Program.
  • If you are using a computer with MapBasic, you can open MapBasic from the Start menu (Start > Programs > MapInfo > MapBasic) or from within MapInfo by going to Options > Show MapBasic Window.
  • MapBasic may be used as a text editor to type in program statements and save these as source code, as a compiler to check the validity of the code, and to link modules togethter to form complex operations.
  • To compile your source code in MapInfo go to File > Comile from File, or to compile your source code in MapBasic go to Project > Compile Current File. This will bring up a dialog box to tell you your program has been compiled successfully. Click OK.
  • To run your program (or any of the example programs which come with MapInfo) go to File > Run MapBasic Program in MapInfo.
  • An overview of MapBasic can be found here on the MapInfo website, while details of how to buy MapInfo products can be found by emailing