v.colors(1)

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

KEYWORDS
vector, color table

SYNOPSIS
v.colors
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]

  Flags:

-r
    Remove existing color table

-w
    Only write new color table if it does not already exist

-l
    List available rules then exit

-d
    List available rules with description then exit
    If a color rule is given, only this rule is listed

-n
    Invert colors

-g
    Logarithmic scaling

-a
    Logarithmic-absolute scaling

-c
    Convert color rules from RGB values to color table
    Option ’rgb_column’ with valid RGB values required

--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
    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)

column=name
    Name of column containing numeric data
    Required for use=attr

range=min,max
    Manually set range (refers to ’column’ option)
    Ignored when ’rules’ given

color=style
    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_percent, srtm_plus, terrain, viridis, water, wave
    aspect: aspect oriented grey colors [range: map values]
    aspectcolr: aspect oriented rainbow colors [range: 0 to 360]
    bcyr: blue through cyan through yellow to red [range: map values]
    bgyr: blue through green through yellow to red [range: map values]
    blues: white to blue [range: map values]
    byg: blue through yellow to green [range: map values]
    byr: blue through yellow to red [range: map values]
    celsius: blue to red for degree Celsius temperature [range: -80 to 80]
    corine: EU Corine land cover colors [range: 111 to 995]
    curvature: for terrain curvatures (from v.surf.rst and r.slope.aspect) [range: map values]
    differences: differences oriented colors [range: map values]
    elevation: maps relative ranges of raster values to elevation color ramp [range: map values]
    etopo2: colors for ETOPO2 worldwide bathymetry/topography [range: -11000 to 8850]
    evi: enhanced vegetative index colors [range: -1 to 1]
    fahrenheit: blue to red for Fahrenheit temperature [range: -112 to 176]
    forest_cover: percentage of forest cover [range: 0 to 100]
    gdd: accumulated growing degree days [range: 0 to 6000]
    grass: GRASS green (perceptually uniform) [range: map values]
    greens: white to green [range: map values]
    grey: grey scale [range: map values]
    grey.eq: histogram-equalized grey scale [range: map values]
    grey.log: histogram logarithmic transformed grey scale [range: map values]
    grey1.0: grey scale for raster values between 0.0-1.0 [range: 0 to 1]
    grey255: grey scale for raster values between 0-255 [range: 0 to 255]
    gyr: green through yellow to red [range: map values]
    haxby: relative colors for bathymetry or topography [range: map values]
    inferno: perceptually uniform sequential color table inferno [range: map values]
    kelvin: blue to red for temperature in Kelvin scale [range: 193.15 to 353.15]
    magma: perceptually uniform sequential color table magma [range: map values]
    ndvi: Normalized Difference Vegetation Index colors [range: -1 to 1]
    ndwi: Normalized Difference Water Index colors [range: -200 to 200]
    nlcd: US National Land Cover Dataset colors [range: 0 to 95]
    oranges: white to orange [range: map values]
    plasma: perceptually uniform sequential color table plasma [range: map values]
    population: color table covering human population classification breaks [range: 0 to 2e+09]
    population_dens: color table covering human population density classification breaks [range: 0 to 1e+09]
    precipitation: precipitation color table (0..2000mm) [range: 0 to 7000]
    precipitation_daily: precipitation color table (0..1000mm) [range: 0 to 10000]
    precipitation_monthly: precipitation color table (0..1000mm) [range: 0 to 1000]
    rainbow: rainbow color table [range: map values]
    ramp: color ramp [range: map values]
    random: random color table [range: map values]
    reds: white to red [range: map values]
    roygbiv: [range: map values]
    rstcurv: terrain curvature (from r.resamp.rst) [range: map values]
    ryb: red through yellow to blue [range: map values]
    ryg: red through yellow to green [range: map values]
    sepia: yellowish-brown through to white [range: map values]
    slope: r.slope.aspect-type slope colors for raster values 0-90 [range: 0 to 90]
    soilmoisture: soilmoisture color table (0.0-1.0) [range: 0 to 1]
    srtm: color palette for Shuttle Radar Topography Mission elevation [range: -11000 to 8850]
    srtm_percent: color palette for Shuttle Radar Topography Mission using relative elevation [range: map values]
    srtm_plus: color palette for Shuttle Radar Topography Mission elevation (with seafloor colors) [range: -11000 to 8850]
    terrain: global elevation color table covering -11000 to +8850m [range: -11000 to 8850]
    viridis: perceptually uniform sequential color table viridis [range: map values]
    water: water depth [range: map values]
    wave: color wave [range: map values]

raster=name
    Raster map from which to copy color table

raster_3d=name
    3D raster map from which to copy color table

rules=name
    Path to rules file

rgb_column=name
    Name of color column to populate RGB values
    If not given writes color table

DESCRIPTION
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.

NOTES
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.

EXAMPLES

  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.

v.to.db 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:
v.db.select map=soils_general where="cat < 4"
cat|OBJECTID|AREA|PERIMETER|GSLNC250_|GSLNC250_I|GSL_NAME|GRASSRGB
1|1|0|164616.125|2|1|NC113|212:42:127
2|2|0|30785.529297|3|2|NC096|212:42:127
3|3|0|87572.882812|4|3|NC097|212:42:127

  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
v.to.rast 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

SEE ALSO
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.

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

SOURCE CODE

Available at: v.colors source code (history)

Latest change: Thursday Oct 23 20:57:28 2025 in commit: 938e5b09359caaeb9cfd62cb2c7e847218001627

Main index | Vector index | Topics index | Keywords index | Graphical index | Full index

© 2003-2026 GRASS Development Team, GRASS 8.6.0dev Reference Manual