Note: A new GRASS GIS stable version has been released: GRASS GIS 7.8, available here.
 Updated manual page: here
NAME
d.linegraph  - Generates and displays simple line graphs in the active graphics monitor display frame.
KEYWORDS
display, 
cartography
SYNOPSIS
d.linegraph
d.linegraph --help
d.linegraph [-xysl] x_file=string y_file=string[,string,...]  [directory=string]   [y_color=string[,string,...]]   [color_table=style]   [width=integer[,integer,...]]   [title_color=string]   [x_title=string]   [y_title=string]   [title=string]   [y_range=min,max]   [y_tics=float[,float,...]]   [x_scale=float]   [y_scale=float]   [icon=string]   [point_size=float]   [secondary_color=name]   [secondary_width=float[,float,...]]   [--help]  [--verbose]  [--quiet]  [--ui] 
Flags:
- -x
 
- Scale only X labels, not values
 
- -y
 
- Scale only Y labels, not values
 
- -s
 
- Draw points
 
- -l
 
- Do not draw lines
 
- --help
 
- Print usage summary
 
- --verbose
 
- Verbose module output
 
- --quiet
 
- Quiet module output
 
- --ui
 
- Force launching GUI dialog
 
 
Parameters:
- x_file=string [required]
 
- Name of data file for X axis of graph
 
- y_file=string[,string,...] [required]
 
- Name of data file(s) for Y axis of graph
 
- directory=string
 
- Path to files
 
- Path to the directory where the input files are located
 
- y_color=string[,string,...]
 
- Color for Y data
 
- color_table=style
 
- Name of color table
 
- Options: aspect, aspectcolr, bcyr, bgyr, blues, byg, byr, celsius, corine, curvature, differences, elevation, etopo2, evi, fahrenheit, gdd, grass, greens, grey, grey.eq, grey.log, grey1.0, grey255, gyr, haxby, kelvin, ndvi, ndwi, oranges, 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 
 aspectcolr: aspect oriented rainbow colors 
 bcyr: blue through cyan through yellow to red 
 bgyr: blue through green through yellow to red 
 blues: white to blue 
 byg: blue through yellow to green 
 byr: blue through yellow to red 
 celsius: blue to red for degree Celsius temperature 
 corine: EU Corine land cover colors 
 curvature: for terrain curvatures (from v.surf.rst and r.slope.aspect) 
 differences: differences oriented colors 
 elevation: maps relative ranges of raster values to elevation color ramp 
 etopo2: colors for ETOPO2 worldwide bathymetry/topography 
 evi: enhanced vegetative index colors 
 fahrenheit: blue to red for Fahrenheit temperature 
 gdd: accumulated growing degree days 
 grass: GRASS GIS green (perceptually uniform) 
 greens: white to green 
 grey: grey scale 
 grey.eq: histogram-equalized grey scale 
 grey.log: histogram logarithmic transformed grey scale 
 grey1.0: grey scale for raster values between 0.0-1.0 
 grey255: grey scale for raster values between 0-255 
 gyr: green through yellow to red 
 haxby: relative colors for bathymetry or topography 
 kelvin: blue to red for temperature in Kelvin scale 
 ndvi: Normalized Difference Vegetation Index colors 
 ndwi: Normalized Difference Water Index colors 
 oranges: white to orange 
 population: color table covering human population classification breaks 
 population_dens: color table covering human population density classification breaks 
 precipitation: precipitation color table (0..2000mm) 
 precipitation_daily: precipitation color table (0..1000mm) 
 precipitation_monthly: precipitation color table (0..1000mm) 
 rainbow: rainbow color table 
 ramp: color ramp 
 random: random color table 
 reds: white to red 
 roygbiv: no description 
 rstcurv: terrain curvature (from r.resamp.rst) 
 ryb: red through yellow to blue 
 ryg: red through yellow to green 
 sepia: yellowish-brown through to white 
 slope: r.slope.aspect-type slope colors for raster values 0-90 
 soilmoisture: soilmoisture color table (0.0-1.0) 
 srtm: color palette for Shuttle Radar Topography Mission elevation 
 srtm_plus: color palette for Shuttle Radar Topography Mission elevation (with seafloor colors) 
 terrain: global elevation color table covering -11000 to +8850m 
 viridis: perceptually uniform sequential color table viridis 
 water: water depth 
 wave: color wave 
- width=integer[,integer,...]
 
- Width of the lines
 
- title_color=string
 
- Color for axis, tics, numbers, and title
 
- Default: black
 
- x_title=string
 
- Title for X data
 
- Default: 
 
- y_title=string
 
- Title for Y data
 
- Default: 
 
- title=string
 
- Title for Graph
 
- Default: 
 
- y_range=min,max
 
- Minimum and maximun value for Y axis (min,max)
 
- y_tics=float[,float,...]
 
- Tic values for the Y axis
 
- x_scale=float
 
- Scale for X values
 
- y_scale=float
 
- Scale for Y values
 
- icon=string
 
- Symbol for point
 
- Options: basic/arrow, basic/arrow1, basic/arrow2, basic/arrow3, basic/box, basic/circle, basic/cross1, basic/cross2, basic/cross3, basic/diamond, basic/hexagon, basic/marker, basic/octagon, basic/pin, basic/pin_dot, basic/point, basic/pushpin, basic/star, basic/triangle, basic/x, demo/muchomurka, demo/smrk, extra/4pt_star, extra/adcp, extra/airport, extra/alpha_flag, extra/bridge, extra/dim_arrow, extra/dive_flag, extra/fiducial, extra/fish, extra/half-box, extra/half-circle, extra/offbox_ne, extra/offbox_nw, extra/offbox_se, extra/offbox_sw, extra/pentagon, extra/ping, extra/ring, extra/simple_zia, extra/target, geology/circle_cross, geology/half-arrow_left, geology/half-arrow_right, geology/strike_box, geology/strike_circle, geology/strike_cleavage, geology/strike_half-bowtie, geology/strike_line, geology/strike_parallel, geology/strike_triangle, legend/area, legend/area_curved, legend/line, legend/line_crooked, n_arrows/basic_compass, n_arrows/fancy_compass, n_arrows/n_arrow1a, n_arrows/n_arrow1b, n_arrows/n_arrow2, n_arrows/n_arrow3, n_arrows/n_arrow4, n_arrows/n_arrow5, n_arrows/n_arrow6, n_arrows/n_arrow7a, n_arrows/n_arrow7b, n_arrows/n_arrow8a, n_arrows/n_arrow8b, n_arrows/n_arrow9
 
- Default: basic/circle
 
- point_size=float
 
- Point size
 
- Default: 5
 
- secondary_color=name
 
- Color
 
- Color for point symbol edge color
 
- Default: black
 
- secondary_width=float[,float,...]
 
- Width of point symbol lines
 
- Default: 0.1
 
 
d.linegraph is a module to draw simple x,y line graphs
(plots) based on numerical data contained in separate files.
The X and Y data files for the graph are essentially a column of numbers in
each file, with one input number per line.  The program expects that each X
value will have a corresponding Y value, therefore the number of lines in
each data input file should be the same.  Essentially, the X data becomes
the X axis reference to which the Y data is plotted as a line. Therefore,
the X data should be a monotonically increasing progression of numbers (i.e.
"1,2,3,..."; "0, 10, 100, 1000,..."; "...-5,-1,0,1,5...").  If multiple Y
data files are used, the Y axis scale will be based on the range of minimum
and maximum values from all Y files, then all Y data given will be graphed
according to that Y scale. Therefore, if multiple Y data inputs are used
with dissimilar units, the graph produced comparing the two will be
deceptive.
If the 
directory option is provided, the paths to files can (and
should) be only relative paths to these files. While this is not recommended
for scripting, it can be advantageous when typing the paths
manually. For example when all files are stored in the directory
/home/john/data, the user can provide the following in the command
line:
d.linegraph directory=/home/john/data x_file=x.txt y_file=y1.txt,y2.txt
 
The user can specify the 
y_color option, the 
color_table
option or just leave the defaults to influence the color of the
plotted lines.
Colors specified by y_color option are used for drawing the lines
in the graph. If multiple Y data files are used, an equal number of
colors may be used to control the colors of the lines. Colors will be
assigned to Y data in respect to the sequence of instantiation on the
command line. It can be one of GRASS GIS named colors or the RGB
values from 0-255 separated by colons (RRR:GGG:BBB).
Alternatively, the user can use the color_table option to specify one
of the GRASS GIS predefined color tables.
By default, a series of colors will be chosen by the module if none are
provided upon invocation. The order of default colors is red, green,
violet, blue, orange, gray, brown, magenta, white, and indigo. The user is
advised not to rely on the order of default colors but to either use the
y_color or the color_table option to obtain predictable and
reproducible results.
The color to be used for titles, axis lines, tics, and scale numbers
is determined by the title_color option. The user can provide
one of the GRASS GIS named colors (such as gray, white, or black)
or use the GRASS GIS colon-separated format for RGB (RRR:GGG:BBB).
The 
title option specifies the text for the title of the graph.
It will be centered over the top of graph.
The 
x_title option is a text to describe data for X axis. It will be
centered beneath the graph. Default is no text unless there is a need
for a unit descriptor determined by the 
d.linegraph module,
then string such as "in hundreds" is generated.
The 
y_title option is a text to describe data for Y axis. It
will be centered beneath the X data description. Similarly, to the
x_title option, default is no text unless there is a need for an
auto-generated description. In the case of graphs with multiple lines
(multiple inputs for Y axis), user may wish to use more specific text
placement using the 
d.text or
v.label programs.
For historical reasons, the 
d.linegraph module accepts
titles of more than one word where the underscore character ("_")
is used to represent spaces (" "). For example "Census_data_1990" would be
printed over the graph as "Census data 1990". The use of underscores is not
necessary to use as long as the parameter is quoted in the command line.
In general, use of underscores is not recommended and there is no need to use
it at all in the GUI or when using 
d.linegraph in Python scripts.
The way the program locates and labels tic marks is less than perfect:
1) although distances between Y tics are proportional to the value, they are
not proportional on the X axis;
2) decimal values between -1 and 1 can be printed on the X axis, but not
on Y. (With respect to the later, the input for Y values can all be
multiplied by a factor of 10 before graphing).
Depending on the user's needs, it might be easier or more appropriate
to use a 3rd party tool such as xgraph, gnuplot, Matplotlib in Python,
or R instead of d.linegraph.
For a more general solution for plotting in GRASS GIS, the user is
advised to use the d.graph module.
The following can be executed in Bash to create the input data for this
example. The user can just create these files in a text editor, save
them and specify path to them.
cat > x.txt <<EOF
1
3
4
6
9
EOF
cat > y1.txt <<EOF
50
58
65
34
27
EOF
cat > y2.txt <<EOF
10
20
35
50
45
EOF
 
The next command sequence creates a file plot.png in the current
directory which is the drawing made by d.linegraph.
d.mon start=cairo output=plot.png width=400 height=400
d.linegraph x_file=x.txt y_file=y1.txt,y2.txt
d.mon stop=cairo
 
d.frame,
d.text,
v.label,
d.graph,
d.histogram
Chris Rewerts, Agricultural Engineering, Purdue University
Last changed: $Date$
SOURCE CODE
Available at: d.linegraph source code (history)
Note: A new GRASS GIS stable version has been released: GRASS GIS 7.8, available here.
 Updated manual page: here
Main index |
Display index |
Topics index |
Keywords index |
Graphical index |
Full index
© 2003-2019
GRASS Development Team,
GRASS GIS 7.4.5dev Reference Manual