d.vect.thematic(1)

πŸ’– d.vect.thematic(1) β€” GRASS GIS User's Manual πŸ’–

okay bestie, section 1 of the manual, let's GO. This is d.vect.thematic and she is that girl β€” she draws thematic vector maps in your active graphics frame and she does it beautifully. ✨

πŸ”‘ KEYWORDS πŸ”‘

display, cartography, choropleth map, legend πŸ—ΊοΈ


πŸ“œ SYNOPSIS πŸ“œ

d.vect.thematic
d.vect.thematic --help
d.vect.thematic [-lnes] map=name  [layer=string]  column=name
[breaks=string[,string,...]]   [algorithm=string]   [nclasses=integer]
colors=string[,string,...]  [where=sql_query]   [boundary_width=integer]
[boundary_color=name]   [icon=string]   [size=float]
[icon_line=string]   [icon_area=string]   [legend_title=string]
[legendfile=name]   [--overwrite]  [--help]  [--verbose]  [--quiet]
[--ui]

🚩 Flags 🚩

  • -l β€” Create legend information and send to stdout πŸ“€
  • -n β€” Do not draw map, only output the legend information πŸ™ˆ (no drawing, just the lore)
  • -e β€” [DEPRECATED] When printing legend info, include extended statistical info from classification algorithm ⚠️
  • -s β€” Do not show this layer in vector legend πŸ«₯
  • --overwrite β€” Allow output files to overwrite existing files πŸ”₯
  • --help β€” Print usage summary πŸ†˜
  • --verbose β€” Verbose module output πŸ—£οΈ
  • --quiet β€” Quiet module output 🀫
  • --ui β€” Force launching GUI dialog πŸ–₯️

πŸŽ›οΈ Parameters πŸŽ›οΈ

  • map=name [required] β€” Name of vector map. Or data source for direct OGR access. πŸ“
  • layer=string β€” Layer number or name. Layer number. If -1, all layers are displayed. Default: 1 πŸ§…
  • column=name [required] β€” Name of attribute column to be classified πŸ“Š
  • breaks=string[,string,...] β€” Class breaks, without minimum and maximum βœ‚οΈ
  • algorithm=string β€” Algorithm to use for classification. Options: int, std, qua, equ, dis
    • int: simple intervals
    • std: standard deviations
    • qua: quantiles
    • equ: equiprobable (normal distribution)
  • nclasses=integer β€” Number of classes to define πŸ”’
  • colors=string[,string,...] [required] β€” Colors (one per class) 🎨
  • where=sql_query β€” WHERE conditions of SQL statement without 'where' keyword. Example: income < 1000 and population >= 10000 πŸ”
  • boundary_width=integer β€” Boundary width. Default: 1 πŸ“
  • boundary_color=name β€” Boundary color. Either a standard color name, R:G:B triplet, or "none". Default: black πŸ–€
  • icon=string β€” Point and centroid symbol. Default: basic/x ⭐

Options:

basic/arrow, basic/arrow1, basic/arrow2, basic/arrow3,
basic/box, basic/circle, basic/cross1, basic/cross2, basic/cross3,
basic/diamond, basic/hexagon, basic/marker, basic/octagon,
basic/pin, basic/pin_dot, basic/point, basic/pushpin, basic/star,
basic/triangle, basic/x, demo/muchomurka, demo/smrk, extra/4pt_star,
extra/adcp, extra/airport, extra/alpha_flag, extra/bridge,
extra/dim_arrow, extra/dive_flag, extra/fiducial, extra/fish,
extra/half-box, extra/half-circle, extra/offbox_ne, extra/offbox_nw,
extra/offbox_se, extra/offbox_sw, extra/pentagon, extra/ping,
extra/ring, extra/simple_zia, extra/target, geology/circle_cross,
geology/half-arrow_left, geology/half-arrow_right,
geology/strike_box, geology/strike_circle, geology/strike_cleavage,
geology/strike_half-bowtie, geology/strike_line,
geology/strike_parallel, geology/strike_triangle, legend/area,
legend/area_curved, legend/line, legend/line_crooked,
n_arrows/basic_compass, n_arrows/fancy_compass, n_arrows/n_arrow1a,
n_arrows/n_arrow1b, n_arrows/n_arrow2, n_arrows/n_arrow3,
n_arrows/n_arrow4, n_arrows/n_arrow5, n_arrows/n_arrow6,
n_arrows/n_arrow7a, n_arrows/n_arrow7b, n_arrows/n_arrow8a,
n_arrows/n_arrow8b, n_arrows/n_arrow9
  • size=float β€” Symbol size. Default: 5 πŸ”Ž
  • icon_line=string β€” Legend symbol for lines. Default: legend/line 〰️

Options:

basic/arrow, basic/arrow1, basic/arrow2, basic/arrow3,
basic/box, basic/circle, basic/cross1, basic/cross2, basic/cross3,
basic/diamond, basic/hexagon, basic/marker, basic/octagon,
basic/pin, basic/pin_dot, basic/point, basic/pushpin, basic/star,
basic/triangle, basic/x, demo/muchomurka, demo/smrk, extra/4pt_star,
extra/adcp, extra/airport, extra/alpha_flag, extra/bridge,
extra/dim_arrow, extra/dive_flag, extra/fiducial, extra/fish,
extra/half-box, extra/half-circle, extra/offbox_ne, extra/offbox_nw,
extra/offbox_se, extra/offbox_sw, extra/pentagon, extra/ping,
extra/ring, extra/simple_zia, extra/target, geology/circle_cross,
geology/half-arrow_left, geology/half-arrow_right,
geology/strike_box, geology/strike_circle, geology/strike_cleavage,
geology/strike_half-bowtie, geology/strike_line,
geology/strike_parallel, geology/strike_triangle, legend/area,
legend/area_curved, legend/line, legend/line_crooked,
n_arrows/basic_compass, n_arrows/fancy_compass, n_arrows/n_arrow1a,
n_arrows/n_arrow1b, n_arrows/n_arrow2, n_arrows/n_arrow3,
n_arrows/n_arrow4, n_arrows/n_arrow5, n_arrows/n_arrow6,
n_arrows/n_arrow7a, n_arrows/n_arrow7b, n_arrows/n_arrow8a,
n_arrows/n_arrow8b, n_arrows/n_arrow9
  • icon_area=string β€” Legend symbol for areas. Default: legend/area 🟦

Options:

basic/arrow, basic/arrow1, basic/arrow2, basic/arrow3,
basic/box, basic/circle, basic/cross1, basic/cross2, basic/cross3,
basic/diamond, basic/hexagon, basic/marker, basic/octagon,
basic/pin, basic/pin_dot, basic/point, basic/pushpin, basic/star,
basic/triangle, basic/x, demo/muchomurka, demo/smrk, extra/4pt_star,
extra/adcp, extra/airport, extra/alpha_flag, extra/bridge,
extra/dim_arrow, extra/dive_flag, extra/fiducial, extra/fish,
extra/half-box, extra/half-circle, extra/offbox_ne, extra/offbox_nw,
extra/offbox_se, extra/offbox_sw, extra/pentagon, extra/ping,
extra/ring, extra/simple_zia, extra/target, geology/circle_cross,
geology/half-arrow_left, geology/half-arrow_right,
geology/strike_box, geology/strike_circle, geology/strike_cleavage,
geology/strike_half-bowtie, geology/strike_line,
geology/strike_parallel, geology/strike_triangle, legend/area,
legend/area_curved, legend/line, legend/line_crooked,
n_arrows/basic_compass, n_arrows/fancy_compass, n_arrows/n_arrow1a,
n_arrows/n_arrow1b, n_arrows/n_arrow2, n_arrows/n_arrow3,
n_arrows/n_arrow4, n_arrows/n_arrow5, n_arrows/n_arrow6,
n_arrows/n_arrow7a, n_arrows/n_arrow7b, n_arrows/n_arrow8a,
n_arrows/n_arrow8b, n_arrows/n_arrow9
  • legend_title=string β€” Thematic map title 🏷️
  • legendfile=name β€” [DEPRECATED] Output legend file ⚠️

🌈 DESCRIPTION 🌈

So like, d.vect.thematic draws thematic choropleth vector maps based on an attribute column or an expression involving several columns. It takes a list of class breaks (excluding the minimum and maximum values) and a list of colors to apply to the classes (has to be the number of class breaks + 1). πŸ’…

Instead of a list of class breaks, you can also choose a classification algorithm and a number of classes (nbclasses). See the v.class for more information on these different algorithms. 🧠


πŸ“ NOTES πŸ“

The -l flag instructs the module to print legend information in vector legend format as described in d.legend.vect to standard output for further use in graphical software. When combined with the verbose flag, the legend information will be extended with some additional statistical information. If the -n flag is set, the module will only print the legend information without drawing the map. 🫢

Option legendfile, is deprecated, instead use the GRASS_LEGEND_FILE environmental variable (see d.legend.vect) to save legend into a file. Flag -e is deprecated, instead use verbose flag. 🚫


πŸŽ€ EXAMPLES πŸŽ€

Thematic map with classes

d.vect.thematic -l map=communes3 column=pop \
  breaks=111393.250000,222785.500000,334177.750000 \
  colors="255:0:0,0:255:0,0:0:255,0,0,0"

Thematic map with calculated class breaks

The following example uses a calculated attribute (density = pop/area) and the standard deviation algorithm to calculate class breaks for 5 classes:

d.vect.thematic -l map=communes2 column=pop/area algorithm=std \
  nbclasses=5 colors="0:0:255,50:100:255,255:100:50,255:0:0,156:0:0"

Thematic map with legend

Example for the North Carolina sample dataset, colorizing basin polygons by average elevation and displaying school capacity:

# create watersheds from elevation map
g.region raster=elevation
r.watershed elevation=elevation threshold=10000 basin=basins_10k
# convert raster to vector
r.to.vect input=basins_10k output=basins_10k type=area column=basin_num
# upload raster statistics to each polygon in vector map
v.rast.stats map=basins_10k raster=elevation column_prefix=elev
# open a graphical display
d.mon wx0
# draw thematic polygons and specify legend title
d.vect.thematic map=basins_10k column=elev_average algorithm=int \
  nclasses=5 colors=0:195:176,39:255:0,251:253:0,242:127:11,193:126:60 \
  legend_title="Average elevation (m)"
# draw thematic points and specify legend title
d.vect.thematic map=schools_wake@PERMANENT column=CORECAPACI algorithm=std \
  nclasses=3 colors=149:203:255,45:143:240,0:81:161 icon=basic/circle size=15 \
  legend_title="School capacity"
# and finally draw legend
d.legend.vect -b at=2,80 font=Sans symbol_size=25

Thematic map of average elevation and school capacity πŸ—ΊοΈβœ¨


πŸ‘€ SEE ALSO πŸ‘€

v.class, d.legend.vect, d.vect, d.graph, v.univar

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


✍️ AUTHOR ✍️

Moritz Lennert πŸ‘‘


πŸ’Ύ SOURCE CODE πŸ’Ύ

Available at: d.vect.thematic source code (history) πŸ“š


Accessed: Saturday Jan 17 05:40:38 2026 πŸ•

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

© 2003-2025 GRASS Development Team, GRASS GIS 8.4.2 Reference Manual 🫢


and that's the whole thing bestie, no cap πŸ’– written by the GRASS Development Team, shipped with GRASS 8.4.2, and last accessed Saturday Jan 17 05:40:38 2026. go make some gorgeous choropleths, you've got this πŸŽ€πŸŒˆπŸ’…

πŸ“¦ where this page comes from