## 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_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 GIS 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_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)

Accessed: Tuesday Jun 16 04:05:12 2026

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

© 2003-2023 GRASS Development Team, GRASS GIS 7.8.8 Reference Manual