d.vect.thematic(1grass)

🌈 d.vect.thematic β€” straight from the GRASS User's Manual, but make it cute πŸ’–

hey bestie, welcome to the glow-up of d.vect.thematic(1grass) β€” yes she's a real one, and yes she's the girl who makes pretty thematic vector maps in your active graphics frame. pull up a chair, grab a snack, we're doing this. πŸ“


✨ NAME ✨

d.vect.thematic β€” she displays a thematic vector map in the active graphics frame. that's it. that's the whole job. iconic behavior honestly. πŸ‘‘


🏷️ KEYWORDS 🏷️

display, cartography, choropleth map, legend β€” lowkey the whole vibe checklist. πŸŽ€


πŸ“œ SYNOPSIS πŸ“œ

no cap, here's her exact signature, character for character:

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 β€” creates legend information and sends it to stdout. legend info girlies rise up 🫢
  • -n β€” does NOT draw the map, only outputs the legend information. just the receipts, no picture. πŸ’…
  • -e β€” [DEPRECATED] when printing legend info, include extended statistical info from the classification algorithm. she's retired bestie, respect her history but don't build your life on her 😭
  • -s β€” do not show this layer in the vector legend. shy layer. πŸ™ˆ
  • --overwrite β€” allow output files to overwrite existing files. ruthless. πŸ”₯
  • --help β€” print usage summary. when you're lost, she's there. ✨
  • --verbose β€” verbose module output. she will over-share and we love that for her. πŸ’¬
  • --quiet β€” quiet module output. she'll keep it on the down low. 🀫
  • --ui β€” force launching GUI dialog. point-and-click era. πŸ–±οΈ

πŸ¦‹ Parameters πŸ¦‹

  • map=name [required] β€” name of vector map. Or data source for direct OGR access. (yes, she can do OGR direct access too, multi-talented queen πŸ‘‘)
  • 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. this is the one being judged, lovingly. πŸ’–
  • breaks=string[,string,...] β€” class breaks, without minimum and maximum. (yes, WITHOUT them. she computes those herself, she's not asking you. πŸ’…)
  • 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)
    • dis: discontinuities
  • nclasses=integer β€” number of classes to define.
  • colors=string[,string,...] [required] β€” colors (one per class). one color per class babe, don't skip. 🎨
  • 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. give your legend a name, she deserves one. πŸŽ€
  • legendfile=name β€” [DEPRECATED] output legend file. old news bestie, she's moved on. 😭

πŸ’– DESCRIPTION πŸ’–

okay so here's the tea. d.vect.thematic draws thematic choropleth vector maps based on an attribute column or an expression involving several columns. she's flexible like that. πŸ¦‹

she takes a list of class breaks β€” and hear me out β€” excluding the minimum and maximum values. then she takes a list of colors to apply to the classes, and that list has to be the number of class breaks + 1. do the math, don't fight the math. πŸ”₯

and if you don't feel like hand-writing breaks? instead of a list of class breaks you can also choose a classification algorithm and a number of classes (nbclasses). see v.class for more info on these different algorithms. she's got range. πŸ’…


πŸ“ NOTES πŸ“

the -l flag tells the module to print legend information in vector legend format β€” as described in d.legend.vect β€” to standard output, so you can carry it off into graphical software. when you combine it with the verbose flag, the legend info gets extended with some additional statistical information. and if -n is set, the module will only print the legend information without drawing the map. no map, just knowledge. ✨

bestie, heads up: the legendfile option is deprecated β€” instead use the GRASS_LEGEND_FILE environmental variable (see d.legend.vect) to save legend into a file. and flag -e is deprecated too; use the verbose flag instead. the old ways are cute but we've evolved. πŸ’…

🎨 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 β€” thank you for your service, king. πŸ‘‘


πŸ’Ύ SOURCE CODE πŸ’Ύ

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

Latest change: Friday Apr 17 01:04:26 2026 in commit: 32a143358df26b2e518b03c7e0d79541e8d1e5b1

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

Β© 2003-2026 GRASS Development Team, GRASS 8.5.0 Reference Manual


okay that's the whole thing bestie, you're officially a d.vect.thematic expert, no cap. go make some choropleth maps and make them GORGEOUS. πŸ’…πŸŒˆβœ¨

GRASS 8.5.0 πŸ¦‹ β€” and yes, that footer date said the latest change was Friday Apr 17 01:04:26 2026, so she's fresh fresh. periodt. πŸ’–

πŸ“¦ where this page comes from