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 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_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
-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 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_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 : 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