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.


v.colors - Creates/modifies the color table associated with a vector map.


vector, color table


v.colors --help
v.colors [-rwldngac] map=name [layer=string] use=string [column=name] [range=min,max] [color=style] [raster=name] [raster_3d=name] [rules=name] [rgb_column=name] [--help] [--verbose] [--quiet] [--ui]


Remove existing color table
Only write new color table if it does not already exist
List available rules then exit
List available rules with description then exit
If a color rule is given, only this rule is listed
Invert colors
Logarithmic scaling
Logarithmic-absolute scaling
Convert color rules from RGB values to color table
Option 'rgb_column' with valid RGB values required
Print usage summary
Verbose module output
Quiet module output
Force launching GUI dialog


map=name [required]
Name of vector map
Or data source for direct OGR access
Layer number or name
Vector features can have category values in different layers. This number determines which layer to use. When used with direct OGR access this is the layer name.
Default: 1
use=string [required]
Source values
Options: attr, cat, z
Default: cat
attr: read values from attribute table (requires <column> option)
cat: use category values
z: use z coordinate (3D points or centroids only)
Name of column containing numeric data
Required for use=attr
Manually set range (refers to 'column' option)
Ignored when 'rules' given
Name of color table
Options: aspect, aspectcolr, bcyr, bgyr, blues, byg, byr, celsius, corine, curvature, differences, elevation, etopo2, evi, fahrenheit, forest_cover, gdd, grass, greens, grey, grey.eq, grey.log, grey1.0, grey255, gyr, haxby, inferno, kelvin, magma, ndvi, ndwi, nlcd, oranges, plasma, population, population_dens, precipitation, precipitation_daily, precipitation_monthly, rainbow, ramp, random, reds, roygbiv, rstcurv, ryb, ryg, sepia, slope, soilmoisture, srtm, srtm_plus, terrain, viridis, water, wave
aspect aspect: aspect oriented grey colors [range: map values]
aspectcolr aspectcolr: aspect oriented rainbow colors [range: 0 to 360]
bcyr bcyr: blue through cyan through yellow to red [range: map values]
bgyr bgyr: blue through green through yellow to red [range: map values]
blues blues: white to blue [range: map values]
byg byg: blue through yellow to green [range: map values]
byr byr: blue through yellow to red [range: map values]
celsius celsius: blue to red for degree Celsius temperature [range: -80 to 80]
corine corine: EU Corine land cover colors [range: 111 to 995]
curvature curvature: for terrain curvatures (from and r.slope.aspect) [range: map values]
differences differences: differences oriented colors [range: map values]
elevation elevation: maps relative ranges of raster values to elevation color ramp [range: map values]
etopo2 etopo2: colors for ETOPO2 worldwide bathymetry/topography [range: -11000 to 8850]
evi evi: enhanced vegetative index colors [range: -1 to 1]
fahrenheit fahrenheit: blue to red for Fahrenheit temperature [range: -112 to 176]
forest_cover forest_cover: percentage of forest cover [range: 0 to 100]
gdd gdd: accumulated growing degree days [range: 0 to 6000]
grass grass: GRASS GIS green (perceptually uniform) [range: map values]
greens greens: white to green [range: map values]
grey grey: grey scale [range: map values]
grey.eq grey.eq: histogram-equalized grey scale [range: map values]
grey.log grey.log: histogram logarithmic transformed grey scale [range: map values]
grey1.0 grey1.0: grey scale for raster values between 0.0-1.0 [range: 0 to 1]
grey255 grey255: grey scale for raster values between 0-255 [range: 0 to 255]
gyr gyr: green through yellow to red [range: map values]
haxby haxby: relative colors for bathymetry or topography [range: map values]
inferno inferno: perceptually uniform sequential color table inferno [range: map values]
kelvin kelvin: blue to red for temperature in Kelvin scale [range: 193.15 to 353.15]
magma magma: perceptually uniform sequential color table magma [range: map values]
ndvi ndvi: Normalized Difference Vegetation Index colors [range: -1 to 1]
ndwi ndwi: Normalized Difference Water Index colors [range: -200 to 200]
nlcd nlcd: US National Land Cover Dataset colors [range: 0 to 95]
oranges oranges: white to orange [range: map values]
plasma plasma: perceptually uniform sequential color table plasma [range: map values]
population population: color table covering human population classification breaks [range: 0 to 2e+09]
population_dens population_dens: color table covering human population density classification breaks [range: 0 to 1e+09]
precipitation precipitation: precipitation color table (0..2000mm) [range: 0 to 7000]
precipitation_daily precipitation_daily: precipitation color table (0..1000mm) [range: 0 to 10000]
precipitation_monthly precipitation_monthly: precipitation color table (0..1000mm) [range: 0 to 1000]
rainbow rainbow: rainbow color table [range: map values]
ramp ramp: color ramp [range: map values]
random random: random color table [range: map values]
reds reds: white to red [range: map values]
roygbiv roygbiv: [range: map values]
rstcurv rstcurv: terrain curvature (from r.resamp.rst) [range: map values]
ryb ryb: red through yellow to blue [range: map values]
ryg ryg: red through yellow to green [range: map values]
sepia sepia: yellowish-brown through to white [range: map values]
slope slope: r.slope.aspect-type slope colors for raster values 0-90 [range: 0 to 90]
soilmoisture soilmoisture: soilmoisture color table (0.0-1.0) [range: 0 to 1]
srtm srtm: color palette for Shuttle Radar Topography Mission elevation [range: -11000 to 8850]
srtm_plus srtm_plus: color palette for Shuttle Radar Topography Mission elevation (with seafloor colors) [range: -11000 to 8850]
terrain terrain: global elevation color table covering -11000 to +8850m [range: -11000 to 8850]
viridis viridis: perceptually uniform sequential color table viridis [range: map values]
water water: water depth [range: map values]
wave wave: color wave [range: map values]
Raster map from which to copy color table
3D raster map from which to copy color table
Path to rules file
Name of color column to populate RGB values
If not given writes color table

Table of contents


v.colors allows creating or modifying color table associated with a vector map similarly to r.colors for raster maps.

Color rules are built from features category values (use=cat) or numeric data column (use=attr) defined by column option. For 3D vector maps is allowed to define color rules based on points or centroids z-coordinate (use=z). 3D vector lines are not supported.

The raster option allows user to specify a raster map from which to copy the color table, similarly raster_3d option for 3D raster map. Without use=attr and column options, raster values will be matched with categories. Use these two options to transfer raster colors to vector attributes.

The rules color table type will cause v.colors to read color table specifications from given file and will build the color table accordingly. See r.colors manual page for details.

If the user specifies the -w flag, the current color table file for the input map will not be overwritten. This means that the color table is created only if the vector map does not already have a color table. If this option is not specified, the color table will be created if one does not exist, or modified if it does.

Alternatively the color rules can be stored in a string column (rgb_column) by saving the RRR:GGG:BBB values suitable for use with d.vect.


For vector maps with a large number of features it's more convenient to store color rules in an attribute column (given by rgb_column) rather then in a color table file. Reading color tables with more then 1000 items is slow.


Define color table based on categories

Define color table wave based on categories from layer 1
v.colors map=soils_general layer=1 color=wave

Define color table based on attribute values

Define color table ryg based on values from attribute column AREA. Attribute table is linked to layer 1. map=soils_general layer=1 option=area column=AREA
v.colors map=soils_general layer=1 color=wave use=attr column=AREA

Define color table stored as RGB values in attribute table

Write color values to the attribute table (column GRASSRGB) instead of creating color table.
v.colors map=soils_general layer=1 color=wave use=attr column=AREA rgb_column=GRASSRGB

# See some GRASSRGB values: map=soils_general where="cat < 4"

Convert RGB attribute values into color table

Convert existing RGB values to color table rules.
v.colors -c map=soils_general rgb_column=GRASSRGB
Note that in this case the vector map has a proper color table assigned (check by v.colors.out) together with GRASSRGB attribute column. Also note that color table is preferred over RGB values stored in attribute table.

Transfer raster colors to vector

# create an example raster from census blocks (10m pixel resolution)
g.region vector=censusblk_swwake res=10 -ap input=censusblk_swwake use=attr attribute_column=TOTAL_POP output=censusblk_swwake_total_pop
r.colors -e map=censusblk_swwake_total_pop color=blues

# transfer raster colors to vector attributes (raster values to attributes)
r.colors.out map=censusblk_swwake_total_pop rules=- | v.colors map=censusblk_swwake use=attr column=TOTAL_POP rules=-
# equivalent, but simpler
v.colors map=censusblk_swwake use=attr column=TOTAL_POP raster=censusblk_swwake_total_pop

# transfer raster colors to vector categories (raster values to categories)
v.colors map=censusblk_swwake raster=censusblk_swwake_total_pop

Remove existing color table

Existing color table can be removed by -r flag.

v.colors -r map=soils_general
Before removing color table you can store color rules to the file by v.colors.out and later to assign by rules option.
v.colors.out map=soils_general rules=soils.colr
v.colors map=soils_general rules=soils.colr
To drop RGB column use v.db.dropcolumn.
v.db.dropcolumn map=soils_general column=GRASSRGB


d.vect, r.colors, r.colors.out, r3.colors, r3.colors.out, v.colors.out

See also wiki page Color tables (from GRASS User Wiki)

ColorBrewer is an online tool designed to help people select good color schemes for maps and other graphics.


Martin Landa, OSGeoREL, Czech Technical University in Prague, Czech Republic
Huidae Cho


Available at: v.colors source code (history)

Latest change: Thursday Feb 03 11:10:06 2022 in commit: 547ff44e6aecfb4c9cbf6a4717fc14e521bec0be

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 | Vector index | Topics index | Keywords index | Graphical index | Full index

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