Skip to content

v.colors

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

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] [--verbose] [--quiet] [--qq] [--ui]

Example:

v.colors map=name use=cat

grass.script.parse_command("v.colors", map, layer="1", use="cat", column=None, range=None, color=None, raster=None, raster_3d=None, rules=None, rgb_column=None, flags=None, verbose=False, quiet=False, superquiet=False)

Example:

gs.parse_command("v.colors", map="name", use="cat")

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
    Allowed values: 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
    Allowed values: 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: 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 v.surf.rst 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_percent     srtm_percent: color palette for Shuttle Radar Topography Mission using relative elevation [range: map values]
        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=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
-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
--qq
    Very quiet module output
--ui
    Force launching GUI dialog

map : str, required
    Name of vector map
    Or data source for direct OGR access
    Used as: input, vector, name
layer : str, optional
    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.
    Used as: input, layer
    Default: 1
use : str, required
    Source values
    Allowed values: attr, cat, z
    attr: read values from attribute table (requires <column> option)
    cat: use category values
    z: use z coordinate (3D points or centroids only)
    Default: cat
column : str, optional
    Name of column containing numeric data
    Required for use=attr
    Used as: input, dbcolumn, name
range : tuple[float, float] | list[float] | str, optional
    Manually set range (refers to 'column' option)
    Ignored when 'rules' given
    Used as: min,max
color : str, optional
    Name of color table
    Used as: input, colortable, style
    Allowed values: 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: 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 v.surf.rst 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_percent     srtm_percent: color palette for Shuttle Radar Topography Mission using relative elevation [range: map values]
        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 : str, optional
    Raster map from which to copy color table
    Used as: input, raster, name
raster_3d : str, optional
    3D raster map from which to copy color table
    Used as: input, raster_3d, name
rules : str, optional
    Path to rules file
    Used as: input, file, name
rgb_column : str, optional
    Name of color column to populate RGB values
    If not given writes color table
    Used as: input, dbcolumn, name
flags : str, optional
    Allowed values: r, w, l, d, n, g, a, c
    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
verbose: bool, optional
    Verbose module output
    Default: False
quiet: bool, optional
    Quiet module output
    Default: False
superquiet: bool, optional
    Very quiet module output
    Default: False

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: Tuesday Mar 04 17:57:17 2025 in commit 83f1644