GRASS logo

Note: This document is for an older version of GRASS GIS that will be discontinued soon. You should upgrade, and read the current manual page.


d.legend.vect - Displays a vector legend in the active graphics frame.


display, cartography, vector, legend


d.legend.vect --help
d.legend.vect [-b] [at=left,top] [columns=integer] [title=string] [symbol_size=integer] [border_color=name] [bgcolor=name] [border_width=integer] [font=string] [fontsize=float] [title_font=string] [title_fontsize=float] [sub_font=string] [sub_fontsize=float] [fontcolor=name] [separator=character] [input=name] [output=name] [--overwrite] [--help] [--verbose] [--quiet] [--ui]


Display legend background
Allow output files to overwrite existing files
Print usage summary
Verbose module output
Quiet module output
Force launching GUI dialog


Screen position of legend to be drawn (percentage, [0,0] is lower left)
Options: 0-100
Default: 10,40
Number of legend columns
Default: 1
Legend title
Symbol size
Default: 20
Border color
Either a standard color name, R:G:B triplet, or "none"
Default: black
Background color
Either a standard color name, R:G:B triplet, or "none"
Default: white
Background border width
Default: 2
Font name
Font size
Default: 12
Options: 1-360
Title font name
Title font size
Default: 18
Options: 1-360
Subtitle font name
Subtitle font size
Default: 14
Options: 1-360
Font color
Either a standard color name or R:G:B triplet
Default: black
Field separator for input file
Special characters: pipe, comma, space, tab, newline
Default: pipe
Input legend file
Path to legend file
Output csv file
Path to output file or '-' for standard output

Table of contents


Module d.legend.vect draws vector legend of currently displayed vector maps.

Parameter at defines the screen position of upper-left legend corner. Parameter columns defines the number of legend columns. User can specify a title of the legend using parameter title. The font of the title can be changed with title_font, title_fontsize. Flag -b is used to draw background of specified color (bgcolor), border color and border width (border_color and border_width). Parameter symbol_size defines the size of line and area symbols. The size of point symbols is based on currently set symbology of vector maps using d.vect or d.vect.thematic.

Module d.vect.legend supports subtitles (see section Notes). Their font and font size can be set using parameters sub_font and sub_fontsize.

Changing legend symbols and labels

Symbols for vector areas and lines, and labels for individual vector labels can be changed in the symbology setting of each vector map in d.vect or d.vect.thematic module (in Legend tab). Use its parameters icon_area and icon_line to pick from available symbols. By using parameter legend_label of d.vect module, users can change the default label, which is the map name.

Modifying the order of legend entries and omitting certain vector maps from legend

Modules d.vect and d.vect.thematic have a flag -s which removes the particular vector or thematic vector from vector legend.

The order of entries is defined by the order in Layer Manager (if used in GRASS GIS GUI). If that's not desired, one can export the legend file into a text file using parameter output, change the order of entries (see section Notes for format description) and then upload the modified file with parameter input. Parameter output defines path to the file where the internal legend file will be saved to, input defines the input file which the vector legend will be based on (input file must have correct format).


Module d.legend.vect draws vector legend based on legend file defined in shell environment variable GRASS_LEGEND_FILE. This file is automatically created and updated whenever d.vect command is used. User can create custom legend file and then use export GRASS_LEGEND_FILE=path/to/file in shell. GRASS GUI and MONITORS create the legend file automatically. By default the legend file is stored in grassdata/location/mapset/.tmp/user directory (in case of d.mon deeper in /monitor_name directory).

Legend file has this format:

Color type can be 'lf' or 'ps'. Based on color type color columns are interpreted as line color and fill colors (lf), or primary and secondary colors (ps). Module d.vect always uses 'lf' and d.vect.thematic 'ps'. Here is an example of legend file with subtitles:
major roads|legend/line|5|lf|black|200:200:200|2|line|355
water bodies|legend/area_curved|5|lf|none|30:144:255|1|area|27764
Example of subheadings used in vector legend


Open cairo monitor to render to file:
g.region vector=nc_state
d.mon cairo
d.vect map=nc_state color=26:26:26 fill_color=229:229:229 width=2 legend_label="state boundaries"
d.vect map=urbanarea color=none fill_color=127:127:127 width=1 legend_label="urban areas"
d.vect map=railroads color=red width=1
d.vect map=hospitals color=77:77:77 fill_color=0:187:0 width=1 icon=basic/cross3 size=10
d.legend.vect -b at=2,40 title="Hospitals in North Carolina" symbol_size=26 fontsize=16 title_fontsize=20
d.legend.vect example


d.vect, d.vect.thematic, d.legend

Check also Python module from AddOns: d.vect.thematic2


Adam Laza, during GSoC 2016 Mentors: Anna Petrasova, Vaclav Petras, Martin Landa


Available at: d.legend.vect source code (history)

Latest change: Monday Nov 18 20:15:32 2019 in commit: 1a1d107e4f6e1b846f9841c2c6fabf015c5f720d

Note: This document is for an older version of GRASS GIS that will be discontinued soon. You should upgrade, and read the current manual page.

Main index | Display index | Topics index | Keywords index | Graphical index | Full index

© 2003-2023 GRASS Development Team, GRASS GIS 7.8.9dev Reference Manual