RiverMap: River Layout Coordinates Calculation and Plotting

Description Usage Arguments Value Author(s) See Also Examples

View source: R/RiverMap.R

Description

This function calculates plotting coordinates for rivers and draws the river chart accordingly.

Usage

1
2
3
4
5
RiverMap(river, length, parent, position, distance, row = NA, direction = 1,
  margin = 0.5, bd.col = "black", ln.col = "grey40", ln.lty = 3,
  ln.lwd = 1, bg.col = "grey80", pt.shw = TRUE, pt.col = "black",
  pt.pch = 20, pt.bg = "black", pt.cex = 1, pt.lwd = 1, mar.t = 0.05,
  mar.b = 0.05, mar.l = 0.2, mar.r = 0.1)

Arguments

river

a vector of river names.

length

a vector of river lengths.

parent

a vector of river parents. The parent of a river is the river into which it flows. The parent of the main stream is NA.

position

a vector of river positions. The river position indicates its position relative to its parent - whether it is a left bank river, right bank river or main stream. The left bank river is on the left when looking downstream of its parent. The right bank river is on the right when looking downstream of its parent. The value of position can be "R", "L" or "M". For the main stream, the value is "M".

distance

a vector of distances denotes the distance between the mouths of each river and the mouths of each river's parent.

row

a vector of row numbers. The main stream is on row 0. In the river chart, rivers with negative row numbers are plotted below the main stream while rivers with positive row numbers are plotted above the main stream. If a value for row is provided, the rivers will be plotted according to the provided row numbers. If a value for row is not provided, a vector of best fit row numbers will be calculated before plotting.

direction

a value. In the river chart, rivers flow from right to left (direction = 1), or from left to right (direction = -1). By default, direction = 1.

margin

a value. The margin height between rivers in the topological plot. By default, margin = 0.5 and margin height is 0.5 times the river height in the river chart.

bd.col

river border colour.

ln.col

lead line colour.

ln.lty

lead line style.

ln.lwd

lead line width.

bg.col

background colour.

pt.shw

show anchor point (TRUE) or not (FALSE). Anchor points represent the locations of the river mouths.

pt.col

anchor point colour.

pt.pch

anchor point character.

pt.bg

anchor point background(fill) colour when pch=21:25.

pt.cex

anchor point size.

pt.lwd

anchor point border width.

mar.t

top margin size. This ranges in [0, 1] where 1 is the total height of the diagram region.

mar.b

bottom margin size. This ranges in [0, 1] where 1 is the total height of the diagram region.

mar.l

left margin size. This ranges in [0, 1] where 1 is the total width of the diagram region.

mar.r

right margin size. This ranges in [0, 1] where 1 is the total width of the diagram region.

Value

The RiverMap returns a list containing data for river map drawing, and plots the river map accordingly. The output list can be used for further plotting. The output list includes,

riverdata

a data frame. This contains input vectors river, length, parent, position and distance. It also includes calculated x-coordinates of river mouths (rmouth) and sources (rsource), defined in the same units as the inputs length and distance. The last included vector is the row number for each river (row), in which the main stream has a fixed row number of 0.

H.MAX

the number of rows.

H.SIZE

the height of each row in the topological plot.

W.MAX

the width of river layout, in the same units as length and distance.

W.SIZE

the reciprocal of W.MAX.

X1

normalised x-coordinate of river mouths.

X2

normalised x-coordinate of river sources.

Y

normalised y-coordinate of rivers.

direction

flow direction. Flow from right to left (direction = 1), or from left to right (direction = -1).

Author(s)

Feng Mao

See Also

RiverLayout, RiverDraw, par.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
data(Ballinderry)

riverlayout <- RiverLayout(B.river$River,B.river$Length,
                           B.river$Parent,B.river$Position,
                           B.river$Distance, direction = -1)
str(riverlayout)

RiverMap(B.river$River,B.river$Length,B.river$Parent,
         B.river$Position, B.river$Distance)[[1]]

RiverMap(B.river$River,B.river$Length,B.river$Parent,
         B.river$Position, B.river$Distance,
         row = c(5,-1,6,3,-4,2,-6,7), direction = -1)

rivervis documentation built on May 1, 2019, 7:28 p.m.